簡體   English   中英

PHP如何移動數組值的子集來執行類似asort的操作?

[英]PHP How do I shift subset of array values to do something like asort?

首先,我是這個網站的新手,它對您有很大幫助,所以在此先感謝您的輸入。

我正在嘗試比較數組值后轉移數組值的子集,例如asort。

這是我所擁有的:

$array[name] = "name";
$array[date] = "date";
$array[item1] = 7;
$array[item2] = 16;
$array[item3] = 3;
$array[item4] = 16;
$array[item5] = 2;
$array[item6] = 10;
$array[author] = "author";
$array[location] = "location';

我想通過對值進行排序來對itemsN值進行排序,以使“ 16”的值位於子集的末尾,而除“ 16”之外的值位於子集的開頭。

所以排序之后,我想得出的結果是:

$array[name] = "name";
$array[date] = "date";
$array[item1] = 7;
$array[item2] = 3;
$array[item3] = 2;
$array[item4] = 10;
$array[item5] = 16;
$array[item6] = 16;
$array[author] = "author";
$array[location] = "location';

您是說要“以相反的順序對數組排序並保持索引關聯”?

arsort($array)

或者,如果您不關心維護鍵/值的關聯,請執行以下操作:

rsort($array)

ArrayObject具有asort()方法:

$array->asort();
foreach ($array as $key => $value) {
    echo $key . ' - ' . $value . "\n";
}

輸出:

1 - 2
2 - 2 
3 - 1
4 - 1
5 - 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM