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

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

使用 usort 按特定值對(duì)數(shù)組進(jìn)行排序

使用 usort 按特定值對(duì)數(shù)組進(jìn)行排序

PHP
慕絲7291255 2023-10-15 15:09:51
我知道存在類似的線程,并且我嘗試?yán)斫獠㈤喿x它們,但我沒(méi)有任何進(jìn)展。問(wèn)題:我想輸出斯坦利·庫(kù)布里克執(zhí)導(dǎo)的所有電影,并且希望電影按上映年份降序排列。電影的輸出有效,但我無(wú)法對(duì)它們進(jìn)行排序。到目前為止我的代碼$data = file_get_contents($url); // put the contents of the file into a variable$director = json_decode($data); // decode the JSON feedecho '<pre>';print_r($director);foreach ($director->crew as $showDirector) {    if ($showDirector->department == 'Directing') {        usort($showDirector, function ($item1, $item2) {            return $item2['release_date'] <=> $item1['release_date'];        });        echo $showDirector->release_date . ' / ' . $showDirector->title . '<br>';   }}
查看完整描述

1 回答

?
三國(guó)紛爭(zhēng)

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

usort完全按原樣傳遞數(shù)組中的元素。即在這種情況下,您的數(shù)組包含對(duì)象- 因此您需要對(duì)對(duì)象的屬性進(jìn)行比較,而不是作為數(shù)組中的元素進(jìn)行比較。


而不是像這樣將項(xiàng)目作為數(shù)組元素進(jìn)行比較:


 return $item2['release_date'] <=> $item1['release_date']);

...您的函數(shù)應(yīng)該像這樣檢查對(duì)象屬性:


usort($showDirector, function ($item1, $item2) {

    /* Check the release_date property of the objects passed in */

    return $item2->release_date <=> $item1->release_date;

});

此外,您還嘗試在錯(cuò)誤的位置對(duì)數(shù)組進(jìn)行排序 - 每次找到導(dǎo)演時(shí),您都會(huì)對(duì)單個(gè)數(shù)組進(jìn)行排序(并且只有一個(gè)元素,因此沒(méi)有任何變化)。

你需要:

  1. 將所有必需的導(dǎo)演項(xiàng)添加到單獨(dú)的數(shù)組中進(jìn)行排序

  2. 當(dāng)您有所有要排序的項(xiàng)目時(shí),您可以對(duì)該數(shù)組進(jìn)行排序

  3. 然后您可以循環(huán)遍歷這個(gè)排序數(shù)組來(lái)處理結(jié)果,例如顯示它們。

請(qǐng)參閱下面的代碼 - 對(duì)步驟進(jìn)行了注釋,以便您可以了解需要執(zhí)行的操作:

$data = file_get_contents($url); // put the contents of the file into a variable

$director = json_decode($data); // decode the JSON feed


/* 1. Create an array with the items you want to sort */

$directors_to_sort = array();

foreach ($director->crew as $showDirector) {

    if ($showDirector->department == 'Directing') {

        $directors_to_sort[] = $showDirector;

    } 

}


/* 2. Now sort those items

   note, we compare the object properties instead of trying to use them as arrays */

usort($directors_to_sort, function ($item1, $item2) {

    return $item2->release_date <=> $item1->release_date;

});


/* 3. Loop through the sorted array to display them */

foreach ($directors_to_sort as $director_to_display){

    echo $director_to_display->release_date . ' / ' . $director_to_display->title . '<br>';

}


查看完整回答
反對(duì) 回復(fù) 2023-10-15
  • 1 回答
  • 0 關(guān)注
  • 149 瀏覽

添加回答

舉報(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)