PHP:如何在未编制索引的数组中进行搜索?

时间:2010-02-10 12:30:08

标签: php search arrays indexing

我有一个格式如此的数组(此示例有5个键):

[0]: HTTP/1.1 200 OK
[1]: Date: Wed, 10 Feb 2010 12:16:24 GMT
[2]: Server: Apache/2.2.3 (Red Hat)
[3]: X-Powered-By: PHP/5.1.6
[4]: etc..

数组键有时会交替,因为可以省略。如何在其中搜索带有“Server:...”的数组,如果存在则显示它?

对于我的生活,我很困惑!

3 个答案:

答案 0 :(得分:3)

直观的方法是迭代数组并测试每个项目:

foreach ($array as $item) {
    if (strncasecmp(substr($item, 0, 7), 'Server:') === 0) {
        echo $item;
    }
}

答案 1 :(得分:2)

试试这个:

 foreach($your_array as $value)
 {
  if (stripos($value, 'Server:') !== false)
  {
    echo $value;  // we found it !!
    break;
  }
 }

答案 2 :(得分:1)

尝试

array_search() - 在数组中搜索给定值,如果成功则返回相应的键

您必须更具体地了解是否要搜索子字符串或精确值,例如你想搜索“服务器:Apache / 2.2.3(红帽)”或其中包含子串“Server”的任何东西。在后一种情况下,请使用Gumbo's solution,因为array_search不能用于子字符串搜索。