PHP多维数组
我有两个问题 如何创建可以为每个索引添加两个值的数组,如:PHP多维数组,php,arrays,Php,Arrays,我有两个问题 如何创建可以为每个索引添加两个值的数组,如: $sample[0]=(“abc”,10) 第二,一旦我创建了这个数组,我想根据索引中的第二个值对这个数组进行排序 因此,如果我有一个数组,如: $sample[0] = ("abc",32); $sample[1] = ("def",11); 排序结果应为: $sample[0] = ("def",11); $sample[1] = ("abc",32); 对第一部分的答复: $sample[0] = array("abc", 1
$sample[0]=(“abc”,10)代码>
第二,一旦我创建了这个数组,我想根据索引中的第二个值对这个数组进行排序
因此,如果我有一个数组,如:
$sample[0] = ("abc",32);
$sample[1] = ("def",11);
排序结果应为:
$sample[0] = ("def",11);
$sample[1] = ("abc",32);
对第一部分的答复:
$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);
?>
来自@Deceze的警告:
上述功能是巧合;正确的代码是:
usort($sample, function ($a, $b) { return $a[1] - $b[1]; })
我已将我的数组声明为$sample=array()代码>。我有一个while循环,$I
是迭代器。我无法添加如下内容:$sample[$I]=(“abc”,12)代码>$sample[$i]=数组(“abc”,12)代码>查看第二部分的答案,只是测试了一下usort($sample,function($a,$b){return$a[1]-$b[1];})
-这是正确的排序。我不知道为什么array\u multisort
应该可以工作,但这只是巧合。请随意尝试上面的代码,并在EasyHP开发服务器环境中测试
usort($sample, function ($a, $b) { return $a[1] - $b[1]; })