php:找到多维数组中的最后一个元素索引

时间:2012-11-15 04:00:31

标签: php multidimensional-array indexing

如上所述,我如何得到最后一个元素索引,例如这个$ a中11的位置?

$a[0][0] = 0; 
$a[0][1] = 1; 
$a[0][2] = 2; 
$a[1][0] = 3; 
$a[1][1] = 4; 
$a[1][2] = 5; 
$a[2][3] = 6; 
$a[2][4] = 7; 
$a[2][5] = 8; 
$a[3][0] = 9; 
$a[4][0] = 10; 
$a[4][1] = 11;
enter code here

我想收到x = 1,y = 4

4 个答案:

答案 0 :(得分:2)

如果您想获得11的最后一个数组值,那么您可以简单地使用end()数组函数

echo end(end($a));

演示: http://codepad.org/fSsHJYTI

完整代码:

 <?php

    $a[0][0] = 0; 
    $a[0][1] = 1; 
    $a[0][2] = 2; 
    $a[1][0] = 3; 
    $a[1][1] = 4; 
    $a[1][2] = 5; 
    $a[2][3] = 6; 
    $a[2][4] = 7; 
    $a[2][5] = 8; 
    $a[3][0] = 9; 
    $a[4][0] = 10; 
    $a[4][1] = 11;

    echo end(end($a));

 ?>

答案 1 :(得分:1)

<?php
$a = array(
    array(0,1,2),
    array(3,4,5,6,7,8),
    array(9),
    array(10,11),
);
var_dump($a[count($a)-1][count($a[count($a)-1])-1]);

答案 2 :(得分:0)

$a=array(0=>array(),1=>array(),2=>array(),3=>array(),4=>array());
$a[0][0] = 0; 
$a[0][1] = 1; 
$a[0][2] = 2; 
$a[1][0] = 3; 
$a[1][1] = 4; 
$a[1][2] = 5; 
$a[2][3] = 6; 
$a[2][4] = 7; 
$a[2][5] = 8; 
$a[3][0] = 9; 
$a[4][0] = 10; 
$a[4][1] = 11;
end($a);
$x=key($a);
echo "x=$x ";
end($a[$x]);
echo "y=".key($a[$x]);

这将输出:

x=4 y=1

键盘:http://codepad.org/YfBFWznR

答案 3 :(得分:0)

您必须遍历数组,找到最高条目,然后将当前循环计数器存储为$highest_i$highest_j

更懒惰的是首先转换数组:

foreach ($array as $i=>$sub) {
   foreach ($sub as $j=>$value) {
      $by_value[$value] = array($i, $j);
   }
}

然后排序:

ksort($by_value);

这将为您提供第一个条目中的坐标:

print_r(reset($by_value));

如:

Array
(
    [0] => 4
    [1] => 1
)