PHP: Як атрымаць апошняе значэнне масіва

Наступны PHP код у мяне ёсць:

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

вяртае:

1
2
3
4
5
6
7
8

Я толькі хачу, каб атрымаць значэнне апошняга элемента: <�моцны> 8 Я паспрабаваў з дапамогай:

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

But this вяртае:1

Любыя ідэі аб тым, як я магу атрымаць <�моцны> 8 значэнне?

дзякуй

1
@Jack Касас - пакласці канец гэтаму вар'яцтву і выбраць адказ, які дапамог вам.
дададзена аўтар Ofir Baruch, крыніца
Дадаў жывую дэманстрацыю, каб мой адказ, як downvoters пераканаў мяне, што можа быць няправільным. Вядома, гэта не было, так што гэта быў downvote ад іншага (магчыма, менш ўсёабдымнага) адказвае.
дададзена аўтар Glitch Desire, крыніца
Ці з'яўляецца $ Resources ў масіў або <�я> мінанай аб'ект </я>? так як ён паказвае на тое масіў аб'ектаў, гэта можа быць сам па сабе з'яўляецца аб'ектам мінанай. У гэтым выпадку канец() не будзе працаваць
дададзена аўтар Ph.T, крыніца

8 адказы

end($resources)->attributes()
4
дададзена

Паспрабуйце выкарыстоўваць канец() ,

end($resources)->attributes();

можа гэта дапаможа вам.

2
дададзена

Тое, што вы павінны зрабіць, гэта:

end($resources)->attributes();
2
дададзена

Вы можаце выкарыстоўваць

$yourvar = count($yourarray)

чым вы маглі б назваць гэта як

echo $yourarray[$yourvar];

што б непасрэдна з друку апошняга значэння ў масіве

1
дададзена
Гэта будзе працаваць толькі калі масіў 1-індэксавацца, які на самай справе <�я> ніколі </я> не адбываецца ў PHP
дададзена аўтар Ph.T, крыніца

Гэта павінна працаваць: -

end($resources)->attributes()
0
дададзена
Яго дублікат @deceze адказу.
дададзена аўтар Tony Stark, крыніца

Вы тэлефануеце Перапыніць двойчы, таму знешні канец функцыя працуе толькі на адным элеменце (вяртанне ўнутранай канец <�код /> функцыя). Паспрабуйце замест гэтага:

echo end($resources)->attributes;

Калі атрыбуты гэта функцыя, а не зменнай, вы б назвалі:

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

Live Demo тут

0
дададзена
Паколькі папярэдні варыянт адказу быў не мае рацыю (вы мелі канец ($ рэсурса-> атрыбуты ()) , які з'яўляецца няправільным). Вы ў цяперашні час абнаўляецца, каб быць правільна, таму я выдаліў downvote.
дададзена аўтар Spudley, крыніца
Я збіраўся, але калі я вярнуўся на каментар вы б усталявалі яго ўжо.
дададзена аўтар Spudley, крыніца
Downvoter, чаму?
дададзена аўтар Glitch Desire, крыніца
@Spudley - гэта downvote без каментароў даволі шмат бескарысная. Калі вы бачыце адказ няправільны, вы павінны растлумачыць, што гэта няправільна. У гэтым выпадку, гэта была памылка друку.
дададзена аўтар Glitch Desire, крыніца

Вы можаце таксама выкарыстоўваць 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
      ?>
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'];
0
дададзена