我有一个多维数组,我很难对特定需求进行分组和排序。这里是数组:组织或分组来自多维数组的数据
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