PHP多维数组

时间:2014-07-17 13:45:33

标签: php arrays

我有两个问题。

如何创建一个数组,我可以为每个索引添加两个值,如:

$sample[0] = ("abc",10);

第二个是,一旦我创建了这个数组,我想根据索引处的第二个值对这个数组进行排序。

所以,如果我有一个像:

这样的数组
$sample[0] = ("abc",32);
$sample[1] = ("def",11);

排序结果应为:

$sample[0] = ("def",11);
$sample[1] = ("abc",32);

1 个答案:

答案 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]; })