Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]jak wstawić do array wszystko z for?
casperii
post
Post #1





Grupa: Zarejestrowani
Postów: 681
Pomógł: 28
Dołączył: 14.08.2014

Ostrzeżenie: (0%)
-----


Mam w pętli liczby:

  1. for($i=0; $i<25; $i++){
  2. echo $sprzedane['sold-items-list'][$i]->{'item-id'};
  3. }


powyższe zwraca mi jakieś tam liczby , chciałbym je wstawić do array - pytanie jak ?
Zrobienie:

  1. $cos[] = $sprzedane['sold-items-list'][$i]->{'item-id'}


nie działa.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




@viking No wlasnie nie. Przyklad co teraz podales rzuca bledem dopiero od php7. We wczesniejszych wersjach bylo to dozwolone i dawalo nieoczekiwane efetky co nie raz to na forum byla widac jak userzy wpadali i plakali.

Wiec dopiero w wersji php7 poszli po rozum do glowy i juz nie pozwalaja na takie cuda gdy zmienna wczesniej byla tekstem. Mogli jednak od razu posunac sie dalej i wymusic inicjalizowania tej zmiennej.
http://php.net/manual/en/language.types.array.php
Cytat
$arr[key] = value;
$arr[] = value;
// key may be an integer or string
// value may be any value of any type

If $arr doesn't exist yet, it will be created, so this is also an alternative way to create an array. This practice is however discouraged because if $arr already contains some value (e.g. string from request variable) then this value will stay in the place and [] may actually stand for string access operator. It is always better to initialize a variable by a direct assignment.

Note: As of PHP 7.1.0, applying the empty index operator on a string throws a fatal error. Formerly, the string was silently converted to an array.




Cytat
Ale jest różnica i chociaż też nie lubię niekonsekwencji to akurat to jest logiczne. Ten zapis wyżej mógłby powodować bardzo dużo nieprzewidywalnych błędów (np zapominasz include gdzie $zm jest obiektem). Czym by to miało być? Stringiem domyślnie i dlaczego?
To samo dotyczy tekstow. Robisz $zm = ''; na zmiennej, ktora wczesniej byla obiektem bo zapomniales o jakim tam include (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 12:01