我有一个名为$myarray
的二维数组,我使用var_dump($myarray)
,它给了我以下内容:
array(4) {
[0]=> array(3) {
[0]=> string(11) "PAY000003RV"
[1]=> string(3) "EUR"
[2] => string(9) "43,543.23"
}
[1]=> array(3) {
[0]=> string(11) "PAY000002PE"
[1]=> string (3) "USD"
[2]=> string(9) "13,432.34"
} [2]=> array(3) {
[0]=> string(11) "PAY000001YB"
[1] => string(3) "GBP"
[2]=> string(8) "3,432.21"
} [3]=> array(3) {
[0]=> string(11) "PAY000004TS"
[1]=> string(3) "CAD"
[2]=> string(8) "2,321.34"
}
}
我想获得以下输出:
GBP 3,432.21
USD 13,432.34
EUR 43,543.23
CAD 2,321.34
所以我尝试使用substr($myarray[0][0], 8, 1)
,substr($myarray[1][0], 8, 1)
,substr($myarray[2][0], 8, 1)
,substr($myarray[3][0], 8, 1)
来获取值3,2,1,4,以便使用它来排序数组到上面的顺序然后删除$myarray[0][0]
,$myarray[1][0]
,$myarray[2][0]
,$myarray[3][0]
这些是每行中的“PAY0000 ..”元素,但我不知道如何正是要实现这一点,任何专家都可以帮助我吗?任何帮助将不胜感激!
答案 0 :(得分:0)
//Extract sort key
$tmp=array();
foreach($myarray as $m) $tmp[$m[0]]=array($m[1],$m[2]);
//Sort array
ksort($tmp);
//Create output
foreach($tmp as $m) echo $m[0].' '.$m[1];
一些意见:
PAY00000nXY
排序而不提取n 答案 1 :(得分:0)
假设您的数组已分配给变量$foo
$values = array();
foreach ( $foo as $bar ) {
foreach ( $bar as $val ) {
$values[] = $val[1] . ' ' . $val[2];
}
}
然后,您将拥有数组$values
,其中包含您需要的值。