mrusklon
@mrusklon
Не получается? Яростно гугли!

Почему не работает сравнение со строкой?

есть массив который приходит из $_POST назвал его $items , есть в нем поле hours , я проверяю чтоб поле не было пустым, в нем не было нуля
$items = array_filter(
        $items,
        function ($item) {
            return !empty($item['hours']) && ($item['hours'] != 0 );
        }
    );


но проблема в том что если я туда впишу текст , то не работает . почему?
Текст ведь != empty и != 0
  • Вопрос задан
  • 60 просмотров
Решения вопроса 1
crashxd
@crashxd
Backend разработчик
Как выглядит массив $items до фильтра?
array(
    'field' => 1,
    'hours' => 2
);
Примерно так?
Тогда в функции фильтра $item будет равно значению (1 или 2, например). А значение это не массив, значит у него нет поля 'hours'.

Попробуй $item['hours'] !== 0
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽