【发布时间】:2014-06-04 07:43:36
【问题描述】:
我向你保证,我已经查看了许多现有的关于 PHP 排序的 SO Q,包括 this mega one
我有一个 PHP 关联数组,以字符串为键。每个值都是一个整数数组。我想按简单的升序对每个整数数组进行排序。我相信这应该很容易,并且我已经找到了足够多的例子,我认为我应该做正确的事情,但它并不完全有效,所以有一个错字或者我是个白痴什么的......
PHP:
//Each fruit corresponds to an array (series) of integers
$data = [
'banana' => [
1,3,2
],
'orange' => [
5,1,3
]
];
echo "Before sort:\n";
var_dump($data);
//For each fruit, I want to order the numbers
foreach ($data as $key => $series)
{
//Sort array of integers
sort($series);
//NB I wasn't sure about value/reference details of foreach loops, so I also tried
//retrieving a series into a variable, sorting, and then reassigning back to the same key
}
echo "\n\nAfter sort:\n";
var_dump($data);
输出:
Before sort:
array(2) {
'banana' =>
array(3) {
[0] =>
int(1)
[1] =>
int(3)
[2] =>
int(2)
}
'orange' =>
array(3) {
[0] =>
int(5)
[1] =>
int(1)
[2] =>
int(3)
}
}
After sort:
array(2) {
'banana' =>
array(3) {
[0] =>
int(1)
[1] =>
int(3)
[2] =>
int(2)
}
'orange' =>
array(3) {
[0] =>
int(5)
[1] =>
int(1)
[2] =>
int(3)
}
}
如您所见,在输出中,内部整数数组尚未排序。我究竟做错了什么? (PHP 5.5.9,Windows 7)
【问题讨论】: