编辑:已解决 - 按预期工作。问题是使用$ search变量。感谢您的所有帮助。
我有一个典型的WHILE,看起来像这样:
while ($row = $result->fetch_assoc())
在我的$行中,我有一个看起来像$ row [" user_name"]的user_name键。
我有一个名为$ search的变量。
理论上,$ search可以在$ row数组中的另一个键中,例如也可以在$ row中[" user_id"]。
我尝试使用stripos来查看是否存在非大小写敏感的实例,其中$ search是"喜欢",或者在键中,$ row [&#34 ; USER_NAME"。]
我甚至尝试将$ row [" user_name"]存储在一个单独的变量中。
基本上
if(stripos($row["user_id"],$search) !== false){
echo("working");
}
这种情况从未发生过。请帮忙!
编辑: 让我重新说一下。
我需要做的就是查看$ row [" user_name"]是否包含字符串变量$ search中的内容。
我试图将$ row [" user_name"]转换为数组,字符串等,并尝试使用in_array和stripos,但没有任何效果。
以下内容可行:
if (stripos("hey you guys","guys")){
echo("worked");
}
但我需要的是
if (stripos($row["user_name"],$search)){
echo("worked");
}
编辑: var_dump看起来像 array(2){[" user_id"] => string(3)" 133" [" USER_NAME"] => string(3)" mrp" }
编辑: 我已经验证$ row [" user_name"]和$ search都是字符串,所以我不会遇到问题。
答案 0 :(得分:0)
<?php
$search = 'bar';
$row = array('id' => 'fOo', 'name' => 'BAr', 'troll' => 'zer');
// Method 1: preg_match
$ret = (bool)preg_match('`(' . implode('|', array_values($row)) . ')`i', $search);
// Method 2: array_search
$ret = array_search(strtolower($search), array_map('strtolower', $row)) !== false;
if ($ret) {
echo 'found';
} else {
echo 'not found';
}
?>
答案 1 :(得分:0)
使用fetch_assoc
时,它不返回数组,而是返回一个对象。
所以尝试不同的语法:
stripos($row->user_id, $search)
答案 2 :(得分:-1)
$string = str_replace($search,"",$row['user_id']);
$ctr = count($string);
if($ctr>0) {echo 'found!';}
else {echo 'not found!';}