我嘗試以下操作:陣列搜索,其中每個元素包含一長串
$os = array("Helo how are you");
if (in_array("you", $os)) {
echo "FOUND!!";
}
我試圖尋找一個字,但它不顯示任何內容。我不確定問題是什麼。
我嘗試以下操作:陣列搜索,其中每個元素包含一長串
$os = array("Helo how are you");
if (in_array("you", $os)) {
echo "FOUND!!";
}
我試圖尋找一個字,但它不顯示任何內容。我不確定問題是什麼。
嘗試:
foreach ($os as $item) {
if (strpos($item, 'you') !== false) {
echo "FOUND!!";
break;
}
}
或者:
if (strpos(implode('', $os), 'you') !== false) {
echo "FOUND!!";
}
或者:
if (preg_grep('/you/', $os)) {
echo "FOUND!!";
}
第一個是好的,而第二個不是(想象陣列'['y','ou']') –
@AlmaDo這是一個邊界情況。第三個呢? ;-) – hsz
第三個不在我寫評論的時候:p我喜歡'preg_grep()' - 但是,用strpos()搜索字符串會更快(但我懷疑這種差異在普通case) –
嘗試像,
$os = array("Helo how are you");
if (strpos($os[0],'are') !== false) {
echo 'true';
}
您必須循環THR只需使用strpos函數檢查數組和字符串。 'in_array'匹配整個字符串而不是子字符串。 –