1

我有以下PHP代码:

foreach ($resources as $resource)
{
    // Iterates on the found IDs
    //echo 'Name of field: ' . $resource . ' - Value: ' . $resource->attributes() . '<br />';
    echo '<tr><td>'.$resource->attributes().'</td></tr>';
}

回报:

1
2
3
4
5
6
7
8

我只想获取最后一项的值:8 我尝试过使用:

echo end(end($resources->attributes()));

但这会返回:1

关于如何获得8值的任何想法?

谢谢

4

8 回答 8

4
end($resources)->attributes()
于 2013-05-23T13:24:35.207 回答
3

尝试使用end()

end($resources)->attributes();

这可以帮助你。

于 2013-05-23T13:23:45.390 回答
2

你应该做的是:

end($resources)->attributes();
于 2013-05-23T13:24:43.643 回答
1

你也可以使用array_reverse()然后使用 $my_array[0]

      <?php
          $my_array = array(1,2,3,4,5,6,7,8);
          array_reverse($my_array);
          echo $my_array[0]; // echoes 8
      ?>
于 2013-05-23T13:28:40.247 回答
0

你调用end了两次,所以最外面的end函数只处理一个元素(内部end函数的返回)。试试这个:

echo end($resources)->attributes;

如果你attributes是一个函数而不是一个变量,你会调用:

echo end($resources)->attributes();

现场演示在这里

于 2013-05-23T13:24:43.817 回答
0

这应该工作: -

end($resources)->attributes()
于 2013-05-23T13:25:57.383 回答
0

$array[]=array('id'=>1, 'value'=>'val1');

    $array[]=array( 'id'=>2, 'value'=>'val2' );

    $array[]=array( 'id'=>3, 'value'=>'val3' );

    $array[]=array( 'id'=>4, 'value'=>'val4' );

获得最后一个值的最简单方法:

    $numb = count($array)-1;
    echo $array[$numb]['value'];
于 2013-05-23T15:04:28.110 回答
-1

你可以使用

$yourvar = count($yourarray)

比你可以称之为

echo $yourarray[$yourvar];

这将直接打印出数组中的最后一个值

于 2013-05-23T13:33:25.840 回答