У меня есть этот код:Как проверить, существует ли строка внутри массива, содержит часть строки в php?
$arr = array("Hello_backup","World!","Beautiful_backup","Day!");
if(in_array("backup", $arr)){
echo "Da";
} else { echo "Nu";
}
Но не работает, потому что, in_array инструкция проверить массив для всей строки «подпорки», который не делает exist.I нужно проверить на части строки, например , чтобы вернуться так, потому что резервная копией является частью «Hello_backup» и «Beautiful_backup» струн
EDIT: Я беру совет и я использовал stripos так:
$arr = array("Hello_backup-2014","World!","Beautiful_backup-2014","Day!");
$word='backup';
if(stripos($arr,$word) !== false){
echo "Da";
} else { echo "Nu";}
но теперь я получаю сообщение об ошибке: «stripos() ожидает, что параметр 1 будет строкой, массив указан в if (stripos ($ arr, $ word)! == false) {"
Ваша ошибка исходит из того, что вы пытаетесь использовать массив, как если бы это была строка. Вам нужно использовать 'foreach' в вашем массиве, чтобы получить каждую строку, содержащую этот массив. Посмотрите на пример @Ghost. – GeoffreyB
@ Не обязательно, если вы хотите рассматривать все значения массива как единое целое, вы можете использовать implode для объединения элементов массива в виде строки. См. Мой ответ – iswinky