| 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: 15 let
|
|||
0