我有一個多維數組,我很難對特定需求進行分組和排序。這裏是數組:組織或分組來自多維數組的數據
Array (
[0] => Array (
[0] => Joe Smith
[1] => Array (
[0] => 3
[1] => 9
)
)
[1] => Array (
[0] => John Doe
[1] => Array (
[0] => 6
[1] => 12
)
)
[2] => Array (
[0] => Jack Frost
[1] => Array (
[0] => 2
[1] => 4
)
)
)
我想要做的排序是從最小的數字到最短(即2,3,4,6,9,12),而且還保持與這些號碼相關聯的名字。例如:
2 (Jack Frost),
3 (Joe Smith),
4 (Jack Frost),
6 (John Doe),
9 (Joe Smith),
12 (John Doe)
任何想法如何按數字進行排序並將名稱保存在一起?由於
更新1
這裏是PHP代碼中,我使用,以列出的數字:
$users = get_users();
$names = array();
$days = array();
foreach($users as $user) {
$names[] = $user->display_name;
$days[] = $user->member_day;
}
$result = array_map(null, $names, $days);
$mdays = array();
foreach($days as $d) {
foreach($d as $d2) {
$mdays[] = $d2;
}
}
for($i; $i<=31; $i++) {
if(in_array($i, $mdays)) {
echo $i . '<br>';
}
}
在上面的代碼,$result
打印出上述陣列。此外,for
循環將「天」排序。
最終目標是有31個塊,並用名稱填充數字塊。
完美的工作。你可以在這裏看到結果:(http://katart.biz/ppt/testpage/)。現在我必須弄清楚這個未定義的偏移錯誤。 – katart
嘗試使用'isset'無論你在哪裏調用該數組 –
因爲我使用'for'循環來循環31天,所以我使用'if(isset($ roster [$ i])){$ name = $名冊[$ i]於; }'讓這個工作。謝謝您的幫助。 – katart