-1

如前所述,我如何获得最后一个元素索引,例如 $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

4 回答 4

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

 ?>
于 2012-11-15T04:12:44.853 回答
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]);
于 2012-11-15T04:07:38.767 回答
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

于 2012-11-15T04:26:00.737 回答
0

您将不得不遍历数组,找到最高条目,然后将当前循环计数器存储为$highest_ior $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
)
于 2012-11-15T04:31:10.730 回答