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