我知道strpos
是如何工作的,它按預期工作,但if
函數中的返回值不是。如果strpos不完全錯誤,如何返回true?
一些代碼:
foreach ($socialstream as $key => $social) {
//filtering in here
$result= $this->search_objects($social);
....
}
我的功能search_objects:
function search_objects($objects)
{
$filters = array('word', 'test');
foreach ($objects as $key => $value) {
if (is_array($value) || is_object($value)) {
$this->search_objects($value);
} else {
//look for faulty strings in value
foreach ($filters as $filter) {
if (!is_int($value) && strpos($value, $filter) !== false) {
return true;
}
}
}
}
return false;
}
如果我打印出if
功能我$result
,我總是得到false
回來,而不是true
。我知道,當針在乾草堆中存在時,通過調試,它會到達if
,但它不會返回。
我錯過了什麼?
添加'的var_dump(is_int($值)&& strpos! ($ value,$ filter)!== false);'在你的第二個'foreach'裏面,看看它在每次迭代時輸出的內容。 –
你真的讀過我的第一條評論嗎? 「不是** a ** var_dump()」。複製粘貼確切的命令:) –
如果存在則返回true,否則返回false。這是你所期望的嗎? – Bananam00n