userrpl
(userrpl)
6 Styczeń 2013 14:02
#1
Czesć. Mam pytanie czy taki zapis jest poprawny?
echo '; ($mysql_fetch_assoc as $assoc = $a) { echo "$assoc"; } echo ''; ($mysql_fetch_assoc as $assoc = $a) { echo"$a"; } echo''; [/code]
Nie mogę tego zapisać w jednej pętli foreach, ponieważ musiałbym zawrzeć pomiędzy $assoc a $a znacznik nowej kolumny, a wtedy by mi się to wszystko rozjechało :-( .
grzelix
(Grzelix)
6 Styczeń 2013 14:27
#2
Można to zrobić na wiele sposobów, szukając najlepszego rozwiązania pomiędzy użyciem pamięci i czasu.
Ten zapis jest poprawny syntaktycznie ale oczywiście można zrobić też na inne sposoby np:
echo ';$values_of_array = "";$mysql_fetch_assoc as $assoc = $a) {"$assoc";$values_of_array .= "$a";
grzelix
(Grzelix)
6 Styczeń 2013 18:52
#4
Co do pierwszej uwagi to jest to po prostu inicjowanie zmiennej jako pusty ciąg znaków - podwójny cudzysłów.
I potem używając konkatenacji mamy pewność że zaczęliśmy wiersz od “zera”, nic niespodziewanego nie powinno tam się pojawić.
$var .= "A"
to operator konkatenacji a dokładnie skrócona forma od
$var = $var."A"
jeśli czegoś nie rozumiesz warto sprawdzić to w dokumentacji języka:
link odnośnie wspomnianego operatora http://php.net/manual/en/language.operators.string.php
php ma nie najgorszą dokumentację (widziałem lepsze), ale mocnym punktem jest pokazanie wielu przykładów w postach po omówieniu danego zagadnienia.
userrpl
(userrpl)
6 Styczeń 2013 21:15
#5
Biorę się za lekturę. Dzięki mistrzu .