第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

根據(jù)字符串的一部分對(duì) foreach 結(jié)果進(jìn)行排序 - PHP

根據(jù)字符串的一部分對(duì) foreach 結(jié)果進(jìn)行排序 - PHP

PHP
慕標(biāo)5832272 2023-06-24 15:36:47
我使用 foreach 循環(huán)遍歷數(shù)組,并將字符串分成兩部分。第一部分是分?jǐn)?shù),第二部分是 ID。就像在本例中一樣"34 1",34 是分?jǐn)?shù),1 是 ID,用空格分隔。然后我將 ID 放入列表中并在 MySQL 查詢中使用它。問題在于它根據(jù)初始數(shù)組中接收結(jié)果的方式對(duì)結(jié)果進(jìn)行排序。我想要實(shí)現(xiàn)的目標(biāo)是按每個(gè) id 的分?jǐn)?shù)對(duì)其進(jìn)行排序在下面的示例中,"34 1","7 2","29 3"它會(huì)將其排序?yàn)?,2,3. 但我需要它是2,3,1<?php$idquestionCollect = ["34 1", "7 2", "29 3"];foreach ($idquestionCollect as $separateID) {    [$one, $two] = explode(" ", $separateID);    if ($one < 40) {        $listID.= $two . "-";    }}$listIDs = '"' . implode('","', explode('-', $listID)) . '"';$listIDs = rtrim($listIDs, ',');$query = "SELECT * FROM articles where id in($listIDs)";$result = mysqli_query($connect, $query);while ($row = mysqli_fetch_assoc($result)) {    echo $row['Respond'];}我在想,也許有一種方法可以在$idquestionCollect將其發(fā)送到 foreach 之前實(shí)際重新排列,或者也許有一種方法可以在 foreach 內(nèi)部執(zhí)行此操作?
查看完整描述

2 回答

?
收到一只叮咚

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊

我建議這樣的解決方案:


$idquestionCollect = ["34 1", "7 2", "29 3", "29 4", "28 5", "27 6", "27 7", "28 8", "28 9", "34 10", "34 11", "34 12", "34 13"];

$results = [];

foreach ($idquestionCollect as $separateID) {

    [$one, $two] = explode(" ", $separateID);

    $results[] = [

        "id" => rtrim($two),

        "result" => rtrim($one),

    ];

}

usort($results, function($el1, $el2){

    return $el1['result'] > $el2['result'];

});

$listIDs = '"' . implode('","', array_column($results, 'id'));

$query = "SELECT * FROM articles where id in($listIDs)";

...


查看完整回答
反對(duì) 回復(fù) 2023-06-24
?
RISEBY

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊

創(chuàng)建一個(gè)scores索引數(shù)組id,然后對(duì)其進(jìn)行排序,然后提取鍵會(huì)更容易:


foreach ($idquestionCollect as $separateID) { 

    $parts = explode(" ", $separateID);

    if ($parts[0] < 40) {

         $listIDs[$parts[1]] = $parts[0];

    }

}        

asort($listIDs);

$listIDs = implode(',', array_keys($listIDs));

另一種娛樂方式:


preg_match_all('/(\d+) (\d+)/', implode('-', $idquestionCollect), $matches);

$listIDs = array_combine($matches[2], $matches[1]);

asort($listIDs);

$listIDs = implode(',', array_keys($listIDs));

對(duì)于您的數(shù)據(jù),兩者都會(huì)產(chǎn)生:


2,3,1


查看完整回答
反對(duì) 回復(fù) 2023-06-24
  • 2 回答
  • 0 關(guān)注
  • 215 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)