我有两个问题。
如何创建一个数组,我可以为每个索引添加两个值,如:
$sample[0] = ("abc",10);
第二个是,一旦我创建了这个数组,我想根据索引处的第二个值对这个数组进行排序。
所以,如果我有一个像:
这样的数组$sample[0] = ("abc",32);
$sample[1] = ("def",11);
排序结果应为:
$sample[0] = ("def",11);
$sample[1] = ("abc",32);
答案 0 :(得分:1)
回答第一部分:
$sample[0] = array("abc", 10);
回答第二部分:
array_multisort($sample, SORT_NUMERIC);
测试环境:
<?php
$sample[0] = array("abc", 32);
$sample[1] = array("def", 11);
print_r($sample);
array_multisort($sample, SORT_NUMERIC);
echo '<br />';
print_r($sample);
?>
输出:
Array ( [0] => Array ( [0] => abc [1] => 32 ) [1] => Array ( [0] => def [1] => 11 ) )
Array ( [0] => Array ( [0] => def [1] => 11 ) [1] => Array ( [0] => abc [1] => 32 ) )
来自@Deceze的警告: 以上功能巧合;正确的代码是:
usort($sample, function ($a, $b) { return $a[1] - $b[1]; })