@gfan

Как в PHP проверить содержимое массива?

Имеется массив $answer1[0], в нем что-то вроде HTTP/1.1 302 FOUND.
Мне нужно проверить, если в массиве есть HTTP/1.1 302 FOUND - выполнить действие.
if($answer1[0]=="HTTP/1.1 302 FOUND") по непонятным причинам не работает, хотелось бы узнать почему.
print_r($answer1[0]) выведет HTTP/1.1 302 FOUND.
Пробовал так:
strpos($answer1[0], "HTTP/1.1 302 FOUND")) - этот вариант выведет позицию первого совпадения, то есть 0. 0 в if не выполнится) Что лучше использовать в этом случае?
  • Вопрос задан
  • 2993 просмотра
Решения вопроса 1
egor_nullptr
@egor_nullptr
Попробуйте if (trim($answer1[0]) == "HTTP/1.1 302 FOUND"). Если хотите с strpos, то
if (strpos($answer1[0], "HTTP/1.1 302 FOUND") !== false)
.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
DrNemo
@DrNemo
if($answer1[0]=="HTTP/1.1 302 FOUND")
не работает скорее всего из-за пробелов в конце, попробуйте так:
if(trim($answer1[0])=="HTTP/1.1 302 FOUND")

со strpos:
if(strpos($answer1[0], "HTTP/1.1 302 FOUND")) !== false)

Пс:
вот вам и такой вариант:
$answer1 = array_map('trim', $answer1); // это если у вас есть пробелы по бокам
if(array_search("HTTP/1.1 302 FOUND", $answer1) !== false)
Ответ написан
Комментировать
iqw
@iqw
Serior Software Engineer
Смотрите и другие строковые функции.
www.softtime.ru/bookphp/gl3_3.php
Уверен, вы для себя найдете там немало интересного. Конечно, способ покруче - так preg_match с регуляркой, но если такое проделать сложно пока - пользуйтесь строковыми функциями.
Ответ написан
@2byte
Можно
if (trim(md5($answer1[0])) == md5("HTTP/1.1 302 FOUND"))
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы