Bir MYSQL Çıktı Değer için Array içinde ara

3 Cevap php

Aşağıdaki kod bir dizi şey çalışmak ya da bulmak için görünmüyor. Ben yığınında iğne aramak için "İn_Array" kullanıyorum. Ben de virgülle ayrılmış olan içeriği patlayan denenmiş ve işe yaramaz. Herhangi bir öneriniz? Ayrıca ben "array_search" çalıştı.

$q4 = "SELECT domain_name,slots_config.bid FROM slots_pid,slots_config,slots_sites 
WHERE slots_config.bid=slots_pid.bid && slots_sites.aid=slots_pid.aid";
$result4 = mysql_query($q4);

while($row = mysql_fetch_array($result4))
{
    $resultarray[] = $row;
}


if (in_array("test",$resultarray))
  {
  echo "Match found";
  }
else
  {
  echo "Match not found";
  }

3 Cevap

Bu çok boyutlu çünkü in_array(), dizinin bu tür çalışmaz.

Sizin dizi bu gibi görünüyor:

$resultarray[0]['domain_name'] = 'first row domain name';
$resultarray[0]['bid'] = 'first row bid';
$resultarray[1]['domain_name'] = 'second row domain name';
...

Sen in_array() bu arama için kullanamazsınız, böylece farklı başka bir yöntemle, dizi üzerinde döngü gibi bir şey, ya da bina $resultarray ile yapmak gerekir.

Benzer şekilde, array_search() çokboyutlu çalışmıyor, bu yüzden ilk boyut üzerinde döngü ve array_search() her bir ikinci boyut-ing gibi bir şey yapabilirdi.

Daha fazla ayrıntı istiyorsanız bana bildirin.

Burada ne var bir 'dizilerin dizi' gibi görünüyor. Yani) döngü, $ satır sizin mysql sorgu verilere karşılık gelen bir dizidir (sizin süre vardır. Yani $ resultarray her elemanı aslında oldukça bir dize daha bir dizi içerir.

Bunu deneyin: print_r($resultarray). Bu $ resultarray tüm yapısını görüntüler ve size bir dizi-of-dizileri oluştururken görebilirsiniz.

In_array'in kullanmak için in_array("test", $resultarray[0]) benzer bir şey yapmak gerekiyor woul

Ben yaşadığınız sorun sadece iki boyutlu bir dizinin ilk boyut arar İn_Array'in olduğuna inanıyorum. Eğer (ama belki de başka bir yerde program yararlıdır) aramak için önce bir diziye bütün sonucu yükleme konum neden ben de anlamıyorum.

Deneyin:

 $found = false;
 while($row = mysql_fetch_array($result4))
 {
    if (in_array($needle, $row){
      print "here it is";
      $found = true;
      break;
 }

 if (!$found) {
      print "not found";
 }