Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z list(); i explode();
Forum PHP.pl > Forum > PHP
MOniToR
No to mam inny problem i przeedytowałem temat. Mam zmienną w bazie danych, która dane, które są oddzielone ':' (np. 'dane:dane1:dane2:'). Jak moge z każdej z danych zrobić osobną zmienną w przypadku gdy nie wiem ile tych danych jest? Wiem jak to zrobić gdybym znał ilość danych, jednak bez tego nie umiem.
dasko
Hmm...nie wiem, czy jest do tego jakaś wbudowana funkcja, ale możesz użyć takiego kodu:
  1. <?php
  2. $foo = array(&#092;"value1\", \"value2\", \"value3\", \"value4\");
  3. for($i=0; $i < count($foo); $i++) {
  4. if($i == (count($foo)-1)) {
  5. $strVars .= &#092;"$var\" . $i;
  6. } else {
  7. $strVars .= &#092;"$var\" . $i . \", \";
  8. }
  9. }
  10. $string = &#092;"list(\" . $strVars . \") = $foo;\";
  11. eval($string);
  12. ?>

Przynajmniej działa winksmiley.jpg
SongoQ
Zamiast for mozesz uzyc foreach.
kszychu
Cytat(MOniToR @ 2005-03-01 22:02:25)
No to mam inny problem i przeedytowałem temat. Mam zmienną w bazie danych, która dane, które są oddzielone ':' (np. 'dane:dane1:dane2:'). Jak moge z każdej z danych zrobić osobną zmienną w przypadku gdy nie wiem ile tych danych jest? Wiem jak to zrobić gdybym znał ilość danych, jednak bez tego nie umiem.

  1. <?php
  2.  
  3. $tmp = explode(&#092;":\", $zmienna_z_bazy);
  4. foreach($tmp as $indeks => $wartosc) {
  5.  ${&#092;"zmienna\".$indeks} = $wartosc;
  6. }
  7. ?>

I wszystko. Później masz całą serię zmiennych $zmienna1, $zmienna2, ... itd.
Tata Muminka
Z tego co napisalem wynikaloby ze baza, ktora zrobiles nie spelania 1NF, wiec zastanow sie czy nie lepiej bedzie zmienic strukture bazy danych! Pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.