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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

根據(jù)php中另一個多維數(shù)組中給定的順序按值對多維數(shù)組進行排序

根據(jù)php中另一個多維數(shù)組中給定的順序按值對多維數(shù)組進行排序

PHP
炎炎設(shè)計 2022-12-03 10:24:28
我這里有兩個多維數(shù)組:- 一個有順序$order = [1=>'apple', 2=>'banana', 3=>'mango'];我有要排序的數(shù)據(jù)的另一個數(shù)組:$data = [['title'=>'fruit', 'name'=>'banana'],['title'=>'fruit', 'name'=>'apple'],['title'=>'fruit', 'name'=>'mango'],['title'=>'fruit', 'name'=>'pineapple'],];有些值的順序未在$order數(shù)組中提及,因此它們可以位于數(shù)組其余值的下方,如下面的結(jié)果所示:排序后我應(yīng)該得到如下結(jié)果:[    ['title'=>'fruit', 'name'=>'apple'],    ['title'=>'fruit', 'name'=>'banana'],    ['title'=>'fruit', 'name'=>'mango'],    ['title'=>'fruit', 'name'=>'pineapple']];我在 SO 中經(jīng)歷了很多答案,但甚至無法從這樣的場景開始;1.如何在 PHP 中對多維數(shù)組進行排序 2.根據(jù)內(nèi)部數(shù)組中的值對 PHP 多維數(shù)組進行排序?
查看完整描述

2 回答

?
www說

TA貢獻1775條經(jīng)驗 獲得超8個贊

$order = [1=>'apple', 2=>'banana', 3=>'mango'];


$data = [

['title'=>'fruit', 'name'=>'banana'],

['title'=>'fruit', 'name'=>'apple'],

['title'=>'fruit', 'name'=>'mango'],

['title'=>'fruit', 'name'=>'pineapple'],

];


usort($data,function($a,$b) use($order){

  $ka = array_search($a['name'],$order);

  $kb = array_search($b['name'],$order);

  if($ka === false) $ka=9999;

  if($kb === false) $kb=9999;

  return $ka <=> $kb;

});

結(jié)果:


array (

  0 => 

  array (

    'title' => "fruit",

    'name' => "apple",

  ),

  1 => 

  array (

    'title' => "fruit",

    'name' => "banana",

  ),

  2 => 

  array (

    'title' => "fruit",

    'name' => "mango",

  ),

  3 => 

  array (

    'title' => "fruit",

    'name' => "pineapple",

  ),

)


查看完整回答
反對 回復(fù) 2022-12-03
?
瀟瀟雨雨

TA貢獻1833條經(jīng)驗 獲得超4個贊

首先,翻轉(zhuǎn)數(shù)組:


$order = array_flip($order);

然后簡單地使用 usort 來修復(fù)它:


usort($data, static function(array $x, array $y) use ($order) {

    return $order[$x['name']] - $order[$y['name']];

})


查看完整回答
反對 回復(fù) 2022-12-03
  • 2 回答
  • 0 關(guān)注
  • 131 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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