|
|
|
| Меня уже просто клинит, и тилипает!
Вот код
<?php
for ($i=1; $i<=3; $i++) $k[$i] = 0;
$k[rand(1,3)] = "dengi";
for ($i=1; $i<=3; $i++) if ($k[$i]=="dengi") {echo $i." ".$k[$i]."<br>";}
?>
|
Скрипт выводит
1 0
2 0
3 dengi
А должен только
3 dengi
Почему!!! Объясните люди добрые! | |
|
|
|
|
|
|
|
для: Necro
(07.04.2006 в 21:41)
| | Я медитировал и играл в сапёра (великая вещь, для отчистки мозга). После этого строчка
for ($i=1; $i<=3; $i++) if ($k[$i]=="dengi") {echo $i." ".$k[$i]."<br>";}
|
стала такой
for ($i=1; $i<=3; $i++) if ($k[$i]==="dengi") {echo $i." ".$k[$i]."<br>";}
|
Всё заработало как надо, но почему так!?
Если есть люди посвященные в эту тайну, просветите меня, ибо я не сведущ и меня окончательно заклинило. | |
|
|
|
|
|
|
|
для: Necro
(07.04.2006 в 21:41)
| | Это по всей видимости из за преобразований типов.
Вы вначале присваиваете всем элементам массива значение типа int а потом строковую переменную. А потом его по ходу глючит и вот результат :))))
Вообщем присваивайте вначале не числа а строки, т.е. не
for ($i=1; $i<=3; $i++) $k[$i] = 0;
|
а
for ($i=1; $i<=3; $i++) $k[$i] = "0";
|
| |
|
|
|
|
|
|
|
для: Necro
(07.04.2006 в 21:41)
| | - | |
|
|
|