如何查找 $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 是不是包含某些字符的主要内容,如果未能解决你的问题,请参考以下文章

在 Python 中,如何检查字符串是不是只包含某些字符?

如何检查字符串是不是包含某些字符串

MySQL数据库中查找中文字符

如何使用Python搜索字典值是不是包含某些字符串

如何查找数组是不是包含字符串[重复]

Excel 用啥函数可以判断一个字符串中是不是包含某些字符