Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Почему условие уходит в else?

Давид Мейстер Мастер (2089), на голосовании 2 года назад
 print_r($itm_array); 
print_r($skin_id_sell);
if (array_key_exists($skin_id_sell, $itm_array)) {
// code
} else {
echo ' noneee';
}
Дополнен 2 года назад
Вроде делал по документации, но уходит в else, а число совпадает массивом
Голосование за лучший ответ
Дмитрий Царь Мудрец (11433) 2 года назад
Вы ищете по ключам массива. print_r выводит ключ массива в квадратных скобках: "[0]", "[1]" и далее. Вам же нужно искать по значениям, а не по ключам.
 if(array_search($skin_id_sell, $itm_array) !== false) { 
Давид МейстерМастер (2089) 2 года назад
Спасибо, как искать по значению?
Дмитрий Царь Мудрец (11433) Давид Мейстер, в коде в ответе уже готовое условие. Просто замените им условие в вашем скрипте.
 if(array_search($skin_id_sell, $itm_array) !== false) { 
Давид МейстерМастер (2089) 2 года назад
in_array?
Дмитрий Царь Мудрец (11433) Давид Мейстер, можно и in_array. У них разница в том, что in_array возвращает только true/false – в зависимости, найдёт ли такой элемент в массиве, а array_search возвращает номер элемента массива или false если не находит элемент в массиве.
Похожие вопросы