PHP: Nasıl bir Sıralanmayan dizide arama yapabilirim?

3 Cevap php

Ben bu yüzden (bu örnekte 5 tuşları bulunuyor) gibi biçimlendirilmiş bir dizi var:

[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..

Bir atlanabilir bazen alternatif Dizi anahtarları. Nasıl "Sunucu: ..." ile dizi arayabilirsiniz içinde, ve eğer varsa o görüntüler?

Beni yaşam için ben karıştı!

3 Cevap

Bu deneyin:

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

Denemek

array_search() Searches the array for a given value and returns the corresponding key if successful

Biraz daha özel bir örneğin bir alt dize ya da kesin bir değer aramak istediğiniz konusunda olmak zorunda Eğer "Server: Apache/2.2.3 (Red Hat)" veya alt dize "Server" içinde olan sadece bir şey aramak istiyorum. array_search aramaları substring için kullanılamaz olarak ikinci durumda, Gumbo's solution ile gidin.

Sezgisel bir yaklaşımdır dizi yineleme ve her öğeyi test etmek olacaktır:

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