如何查找 $row 是不是包含某些字符
Posted
技术标签:
【中文标题】如何查找 $row 是不是包含某些字符【英文标题】:How to find if $row contains certain characters如何查找 $row 是否包含某些字符 【发布时间】:2013-07-16 09:08:47 【问题描述】:有一点编码问题,我如何检查 $row['value'] 的值是否包含某些字符,在这种情况下,如果 'rename_file' 包含一个包含 '128' 的文件名它。我有这个,但它似乎没有回声。
$row = mysql_fetch_assoc($result);
while ($row = mysql_fetch_assoc($result))
echo $row['c_ID'] . " " . $row['source_file'] . " " . $row['rename_file'] ." " . $row['p_ID'];
if ($row['rename_file'] = '%128%')
echo "<p> This is a 128";
else
echo "<br>";
非常感谢。 CP
【问题讨论】:
结果集有多大?您也可以通过在数据库查询中添加 WHERE 子句来做到这一点。 @andrewsi 因为他也在处理不包含“128”的条目,所以我不确定这会有所帮助 @StephenTG - 好点。我以错误的方式解析了这个问题! 【参考方案1】:使用preg_match()
:
if(preg_match('/128/',$row['rename_file']))
echo "<p> This is a 128";
else
echo "<br>";
或strpos()
:
if(strpos($row['rename_file'], '128') !== false)
echo "<p> This is a 128";
else
echo "<br>";
【讨论】:
【参考方案2】:看看 stristr 搜索关键字。 http://php.net/manual/en/function.stristr.php
【讨论】:
【参考方案3】:if (strpos($row['rename_file'], '128') !== false)
echo "<p> This is a 128";
【讨论】:
【参考方案4】:如果您要检查行中的每个值是否为 128:
function searchArray($search, $array)
foreach($array as $key => $value)
if (stristr($value, $search))
return true;
return false;
$row = array('c_ID'=>'Prefix_128_ABC','source_file'=>'EFG.xml','rename_file'=>'FOO.xml');
if (searchArray('128',$row) !== false)
echo "<p> This is a 128";
else
echo "<p> This is not a 128";
稍微修改自: http://forums.phpfreaks.com/topic/195499-partial-text-match-in-array/
--哎呀!误解。好吧,如果你也需要,这就是你会这样做的方式......--
【讨论】:
以上是关于如何查找 $row 是不是包含某些字符的主要内容,如果未能解决你的问题,请参考以下文章