2012-12-07 63 views
2

可能重复:
How to get last key in an array?PHP数组最后一个索引

我有一个数组

$arr=Array 
    (
    [0] = Array 
     (
      [groupid] = 1 
      [groupname] = Oxy 
      [members] = Array 
       (
        [0] = Array 
         (
          [id] = 9 
          [name] => Anith 
         ) 

        [1] = Array 
         (
          [id] = 12 
          [name] = sanjay 
         ) 

        [3] =Array 
         (
          [id] = 13 
          [name] = Sooraj K 
         ) 

       ) 

     )) 

这里$arr[0]['members'][2]是unsetted。我想在这里找到$arr[0]['members']的最后一个索引,这是我3..how能找到这最后的指数

+1

你说的最后一个索引意味着???你可以添加您的预期输出 – Baba

+0

我需要在这里得到答案3 –

+0

它是否可能? –

回答

4
$last = end($arr[0]['members']); 
+0

'end()'返回值,而不是键。 – biakaveron

+0

它返回数组中的最后一个元素。 http://us.php.net/manual/en/function.end.php – deyes

+0

是的,它将是一个数组(id,名称),而Sanu Saji需要键值(3)。 – biakaveron

-2

不喜欢:

<?php 

$arr_keys = array_keys($arr[0]['members']); 
$last_index = $arr_keys[count($arr_keys)-1]; 

?> 
+0

'$ last_index = end($ arr_keys);'? – biakaveron

-2

$last = max(array_keys($arr[0]['members']));

当然,这意味着排序阵列。

+0

并且连续,并且基数为1(而PHP使用默认值为0) – symcbean

-1

您可以简单地计算阵列,即

$count = count($arr[0]['members']); 

这将给指数的总数。然后取回它,你可以像

$last_array = $arr[0]['members'][$count-1]; 

我也建议还检查它是否大于0。

1

这将适用于你。

end($arr[0]["members"]); 
$key = key($arr[0]["members"]); 

这将返回3.

+0

其不可用 –

+0

您可以提供刚刚应用的代码。也是阵列。 –

+0

我用你给定的数组试了上面的代码, - $ key--给了我答案。 –

相关问题