![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Przyjaciele php.pl Postów: 195 Pomógł: 0 Dołączył: 7.07.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy to na Pro, ale chyba tak (jesli sie myle to DeyV z pewnoscia poprawi (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) )
Jak odwolac sie do ostatniego elementu tablicy? Pytanie z pozoru proste, w php nie ma ladnego sposobu, ale mozna przeciez: $array[count($array)-1] ... Tylko, ze to nie jest dobra metoda :/ Moj problem polega na tym, ze otrzymuje tablice i nie mam pojecia co w niej jest. Moim zadaniem jest dodac cos na koniec a potem (!!!) operowac na tym i oddac na koniec tablice, czyli: [php:1:dda4f3b182]<?php function &dodaj (&$array,$add) { $array[] = Array(); foreach($add as $k=>$v) { $array[count($array)-1][$k] = $v; } } ?>[/php:1:dda4f3b182] Problem w tym, ze powyzszy kod np. wysypie sie w sytuacji gdy $array ma na wejsciu wartosc $array=Array('nazwa'=>1); ... czy jest jakis sposob aby zlapac referencje do ostatniego elementu tablicy? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 6.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Nie wiem czy to na Pro, ale chyba tak (jesli sie myle to DeyV z pewnoscia poprawi (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) )
Jak odwolac sie do ostatniego elementu tablicy? Pytanie z pozoru proste, w php nie ma ladnego sposobu, ale mozna przeciez: $array[count($array)-1] ... Tylko, ze to nie jest dobra metoda :/ Moj problem polega na tym, ze otrzymuje tablice i nie mam pojecia co w niej jest. Moim zadaniem jest dodac cos na koniec a potem (!!!) operowac na tym i oddac na koniec tablice, czyli: Tu niestety objawia się pewna niedogodność phpowych tablic, której np. nie ma w perlu -- mieszanie tablic zwykłych indeksowanych liczbami naturalnymi (list) i asocjacyjnych (haszy). Po pierwsze indeksowanie skalarem troche samo w sobie przeczy pojęciu ostatni element. Po prostu w tym przypadku tablica jest zbiorem par typu klucz => wartość i tyle. php jednak wewnętrznie trzyma takie tablice i tak uporządkowane. Można się do tej kolejności dobrać funkcjami array_keys() i array_values(). Najprościej jest więc wyciągnąć sobie ostatni wpisany klucz z tablicy i skojarzoną z nim wartość [php:1:48c3275503]<?php array_pop(array_keys($array)) ?>[/php:1:48c3275503] Jest to rozwiązanie uniwersalne, choć w przypadku tablic liniowych trochę przesadzone. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.10.2025 - 13:36 |