Autor | Zpráva | ||
---|---|---|---|
Ald Profil * |
#1 · Zasláno: 7. 6. 2012, 21:45:03
Ahoj, mám možná trochu netradiční problém. Mám takovéhle pole:
array("A1","B1","C1","A2","B2","C2",...,"An","Bn","Cn"); PRVNÍ - A1, DRUHÝ - B1, TŘETÍ - C1 PRVNÍ - A2, DRUHÝ - B2, TŘETÍ - C2 . . . PRVNÍ - An, DRUHÝ - Bn, TŘETÍ - Cn Hraju si s tím celý večer a nemůžu na to přijít. Děkuju za pomoc |
||
Alphard Profil |
#2 · Zasláno: 7. 6. 2012, 21:51:04
$i = 0; foreach ($array as $item) { echo $item; if ($i++ % 3 == 0) { echo "<br>"; } } |
||
Majkl578 Profil |
Pokud jsou to vždy stejně velké skupiny, postačí použít array_chunk:
$data = array("A1","B1","C1","A2","B2","C2",/*...,*/ "An","Bn","Cn"); $chunks = array_chunk($data, 3); var_dump($chunks); |
||
Ald Profil * |
#4 · Zasláno: 7. 6. 2012, 21:53:49
No já je budu ukládat do databáze. jsou 3 sloupečky a každá hodnota z té skupiny 3 bude uložena do jednoho sloupečku. Takže na to by asi byl lepší ten foreach ne? v tom foreachu budu mít mysql_query..
|
||
Majkl578 Profil |
Na to se ti asi bude hodit víc právě array_chunk. Líp se ti s tím bude pracovat, jelikož budeš mít vždy skupinu (pole) a snadno tak vytvoříš insert dotaz (vpodstatě jen implode).
foreach ($chunks as $chunk) { $chunk = array_map(function ($item) { return '\'' . mysql_real_escape_string($item) . '\''; }, $chunk); mysql_query('INSERT INTO foo (a, b, c) VALUES (' . implode(', ', $chunk) . ')'); } |
||
Ald Profil * |
#6 · Zasláno: 7. 6. 2012, 22:01:01 · Upravil/a: Ald
No jo, máš pravdu, už mi to funguje, moc vám děkuju za pomoc
ne tak nefunguje, já to dělám trochu jinak, udělal jsem si funkci, která mi ukládá do databáze, zadám jí pole ve tvaru array(Sloupeček=>Hodnota). Takže použití by bylo takové že bych tu funkci volal vždycky po skupině těch tří hodnot, asi takto: uloz(array("Sloupec1"=>"A1","Sloupec2"=>"B1","Sloupec3"=>"C1") |
||
Časová prodleva: 12 let
|
0