Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Zbudowanie tablicy z pętli for
Forum PHP.pl > Forum > Przedszkole
kaszanka
Hi,

Mam w zmiennej $name zapis:
  1. <?php
  2. jablka,gruszki,poziomki,...,...,...
  3. ?>
rozdzielam to:
  1. <?php
  2. $name_e = explode(",", $name);
  3. $ile_name = count ($name_e;
  4. ?>

I teraz muszę każdą $name_e wsadzić w tablicę która ma wyglądać tak;
  1. <?php
  2. [0]=>jablka,[1]=>gruszki,...
  3. ?>
więc pisze:

  1. <?php
  2. for($i=0; $i<$ile_name; $i++){
  3. $tab = Array(''.$i++.'' => ''.$name_e[$i].''
  4.  );
  5. ?>
jednak nie tworzy to tablicę jaką bym chciał.
PawelC
Najprościej:
  1. <?php
  2. $name = explode(",", $name);
  3. print_r($name);
  4. ?>

I tworzy Ci się tablica smile.gif wynik zobaczysz po odpaleniu skryptu winksmiley.jpg
Wynik u mnie:
Cytat
Array ( [0] => agrest [1] => pomidor [2] => cytryna )
kaszanka
no takie to proste :]
thx!

hmm
Chyba idę trochę złą drogą bo tablicę tą muszę jakoś przedstawić jako jedną zmienną $nazwy do komendy która jest wysyłana curlem.
Podanie np: $nazwy = print_r($name); nic nie daje.
PawelC
W takim wypadku używasz foreach do tego aby móc normalnie wykorzystać dane:
  1. <?php
  2. foreach($name as $dane){
  3. echo $dane;
  4. }
  5. ?>

I posługujesz się $dane, co w efekcie wyświetli ci dane z tablicy ale bez klucza.

Cytat
Podanie np: $nazwy = print_r($name); nic nie daje.

Przy takim stosowaniu trzeba by było jeszcze dodać indeks np
  1. <?php
  2. print_r($name[1]);
  3. ?>

Wtedy wyświetli Ci z tablicy zawartość gdzie indeks wynosi 1.
kaszanka
No dobra ale wg Twojego przykładu cała tablica nadal nie jest umieszczona w jednej zmiannej.
Potrzebują tablicę umieścić w tego typu komendzie:
  1. <?php
  2. ...
  3. ."&query[data][produkty:operation]=add"
  4. ."&query[data][name]=$name" // gdzie $name jest właśnie tablicą w postaci [0]=>jablka,[1]=>gruszki,...I całą tą tablicę muszę wysłać w tej jednej komendzie za jednym ra
    zem.
  5. ;
  6. ?>
PawelC
No ok w takim wypadku gdy chcesz wszystko zapisać do jednej zmiennej musisz użyć pętli for do tego i zliczyć ilość rekordów a później wszystkie rekordy z pliku tekstowego przypisać do jednej zmiennej:
  1. <?php
  2. $name = explode(",", $name);
  3. $suma=count($name); //zliczenie rekordów
  4.  
  5. for($i=0; $i< $suma; $i++)
  6.  
  7. $dane.=$name[$i]; //przypisywanie do jednej zmiennej
  8. echo $dane;
  9.  
  10. ?>

I teraz wszysko jest w jednej zmiennej, czyli $dane winksmiley.jpg
kaszanka
Dalej to nie jest to o co mi chodzi sad.gif
  1. <?php
  2. echo $dane;
  3. ?>

wyświetla nam teraz:
agrestpomidorcytryna
a powinno wyglądać tak:
  1. <?php
  2. [0] => agrest [1] => pomidor [2] => cytryna....
  3. ?>
PawelC
  1. <?php
  2. $name = explode(",", $name);
  3. $dane=print_r($name);
  4. echo $dane;
  5.  
  6. ?>
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.