Внимание новичкам в PHP. Помогу бесплатно.

safrash

Новичок
Фанат
PHP:
$my=array('Директор'=>"Иванов",'Бухгалтер'=>"Федоров",'Фирма'=>"Рога",30000);
reset($my);
$find="Иванов";
while(list($key,$var)=each($my)){
if($var==$find) $flag = true;
}
if(!$flag) echo "$find нету в массиве";
else echo "$find имеется в массиве";
Вопрос: как получается, что переменные $var, $key умирают после цикла, а $flag живет?
 

Фанат

oncle terrible
Команда форума
кто тебе сказал такую глупость, что переменные $var, $key умирают после цикла?
 

safrash

Новичок
Автор оригинала: Фанат
кто тебе сказал такую глупость, что переменные $var, $key умирают после цикла?
Проверял этим: echo isset($var, $key). Ничего не выводит. Тут меня и циклило, что до ключа никак не добраться, кстати я до сих пор не представляю как? Ну, отметаем, foreach.
 

Фанат

oncle terrible
Команда форума
почему до ключа не добраться?
ПЕРЕМЕННОЙ ТЫ ЕГО ПРИСВОИТЬ МОЖЕШЬ, гений?

почему отметаем foreach?
 

safrash

Новичок
Автор оригинала: bgm
1) Если твоим способом попытаться найти "Иванов" - не найти. Причём для этого даже скрипт запускать не надо - из кода видно.
2) Индекс ты и так каждый раз в цикле получаешь: http://ru2.php.net/manual/ru/function.key.php
3) Кстати, о циклах, у тебя есть лишняя итерация в цикле. Подумай - где, зачем и почему?
1) Это я уже понял.
2)Получать то получаю, а в какой момент его показать, когда он соотв. знач.элемента?
3)Лишняя итерация $i++, надо ++$i, потому что в конце массива это не сработает, правильно?

;)
 

Фанат

oncle terrible
Команда форума
это ему не поможет.
а наоборот - затормозит.
он еще неделю будет соображать,что это такое, а потом месяц будет пытаться применить
 
Сверху