Autor | Zpráva | ||
---|---|---|---|
kokolino Profil |
#1 · Zasláno: 10. 4. 2011, 15:24:50
Čawte mám problém s tým, že moje pole sa tvári, že nemá nasledujúci prvok
<?php $os_x=array("0","0","1","1","2","2"); $os_x1=array_unique($os_x); //odstranenie duplicit foreach ($os_x1 as $id => $value){ echo"<br>prvá hodnota:".$os_x1[$id]."ďalšia hodnota".$os_x1[$id+1]; } ?> na výstupe dostanem prvá hodnota 0 ďalšia hodnota (tuto nic) prvá hodnota 1 ďalšia hodnota (tuto nic) prvá hodnota 2 ďalšia hodnota (tuto nic) chcem sa spýtať, že kde robím chybu ? |
||
panther Profil |
#2 · Zasláno: 10. 4. 2011, 15:40:28 · Upravil/a: panther
kokolino:
klíče zůstávají, proto tvoje klíče, které voláš, neexistují. To můžeš vidět, kdyby sis proměnnou $id vypsal.
$os_x = array("0","0","0","1","1","2","2"); $os_x1 = array_unique($os_x); //odstranenie duplicit foreach ($os_x1 as $id => $value) { echo $id; // 0, 3, 5 } Klíče se dají přepočítat na číselné začínající nulou funkcí array_values, tedy $os_x = array("0","0","0","1","1","2","2"); $os_x1 = array_values(array_unique($os_x)); //odstranenie duplicit foreach ($os_x1 as $id => $value){ echo $id; // 0, 1, 2 } |
||
ShiraNai7 Profil |
#3 · Zasláno: 10. 4. 2011, 15:42:24
1) array_unique zachovává indexy
2) $os_x1[$id+1] bude u poslední hodnoty hlásit že jde o neznámý index $os_x = array("0", "0", "1", "1", "2", "2"); $os_x1 = array_values(array_unique($os_x)); //odstranenie duplicit foreach($os_x1 as $id => $value) { echo "<br>prvá hodnota:".$os_x1[$id]." ďalšia hodnota: ".(isset($os_x1[$id + 1]) ? $os_x1[$id + 1] : 'NENÍ!'); } |
||
kokolino Profil |
#4 · Zasláno: 10. 4. 2011, 18:51:31
panther, ShiraNai7
obom Vám ďakujem za vysvetlenie a pomoc |
||
Časová prodleva: 13 let
|
0