【问题标题】:php : find the last element index in multi dimension arrayphp : 查找多维数组中的最后一个元素索引
【发布时间】:2012-11-03 16:32:39
【问题描述】:

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

【问题讨论】:

  • 它看起来不像 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;
  • 如何用你实际使用的东西来编辑你的问题。
  • @Dagon(回答->问题错字?)
  • @AlexLunix 我不知道你在说什么:-)

标签: php multidimensional-array indexing


【解决方案1】:

如果你想得到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));

 ?>

【讨论】:

  • 我的意思是在这个多维数组中获取11的索引
  • 这个功能我忘了
【解决方案2】:
<?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]);

【讨论】:

  • hmm .. 我的意思是得到 11 的索引,这意味着我想收到 x = 1, y = 4
【解决方案3】:
$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

【讨论】:

    【解决方案4】:

    您必须遍历数组,找到最高条目,然后将当前循环计数器存储为 $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
    )
    

    【讨论】:

      猜你喜欢
      • 2021-12-27
      • 1970-01-01
      • 2014-09-27
      • 2011-02-05
      • 2017-09-02
      • 2012-08-30
      • 1970-01-01
      • 1970-01-01
      • 2010-11-06
      相关资源
      最近更新 更多