如何在PHP中使用数组搜索字符串的值?

时间:2014-04-04 09:45:18

标签: php arrays string

你好! 我想搜索具有" CMS"等值的字符串。在数组$ row中,下面的代码正在搜索精确的" CMS"。

if (mysql_num_rows($sql_result)>0)
  { 
    while ($row = mysql_fetch_assoc($sql_result))
        { $counter++; 
           if (in_array("CMS", $row)) 
               { $cms++; }
          }
    }

如果有人能指导我如何搜索字符串以获得价值,那么我将非常感激。" CMS"在数组$ row。

3 个答案:

答案 0 :(得分:2)

使用strposserialize

if (mysql_num_rows($sql_result)>0)
  { 
    while ($row = mysql_fetch_assoc($sql_result))
        { $counter++; 
           if (strpos(serialize($row),"CMS")!==false)  //<--- Changed this `if` statement, nothing else
               { $cms++; }
          }
    }

您可以serialize您的阵列,然后执行strpos检查needle是否在阵列内部。这类似于按照您的要求执行LIKE

答案 1 :(得分:0)

循环遍历行中的每个列并使用strpos

if (mysql_num_rows($sql_result)>0) 
{ 
    while ($row = mysql_fetch_assoc($sql_result))
    { 
        $counter++; 
        foreach($row as $column)
        {
            if (strpos($column, 'CMS'))
            {
                $cms++;
            }
        }
    }
}

答案 2 :(得分:0)

if (mysql_num_rows($sql_result)>0)
  { 
    while ($row = mysql_fetch_assoc($sql_result))
        { $counter++; 
           foreach ($row as $column) {
              if (strpos($column, "CMS") !== false) {
                  $cms++;
              }
           } 

        }
    }