我怎样才能在Array中搜索值?

时间:2012-05-03 08:50:50

标签: php

我有一个这样的数组,我试图搜索一个值 使用这个数组:

$arr = Array('Slovenly Mexico','Slovenly Europe','Greece');

我正在使用这种条件。请帮忙

if($a[storename] == $arr[$i]){
                //some code

          }

但它无法正常工作,因为它会搜索为索引值,因此会出错。

Array
(
    [0] => Array
        (                    
            [storename] => Greece
        )

    [1] => Array
        (         
            [storename] => Slovenly Europe
        )


    [3] => Array
        (           
            [storename] => Slovenly Europe
        )

    [4] => Array
        (       
           [storename] => Greece
        )

    [5] => Array
        (
        [storename] => Slovenly Mexico

        )

    [6] => Array
        (
            [storename] => Slovenly Europe
        )

    [7] => Array
        (
         [storename] => Slovenly Mexico

        )
 } 

4 个答案:

答案 0 :(得分:2)

你可以使用in_array()

例如,

$sizeofarray=sizeof($a);
for($i=0;$i<sizeofarray;$i++)
{
   if(in_array($a[$i][storename],$arr)) 
   {
       echo "Found";
       break;
   }
   else
       echo "Not found";
}

答案 1 :(得分:2)

看看这个功能:

http://php.net/manual/en/function.array-search.php

<?php
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');

$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array);   // $key = 1;
?>

答案 2 :(得分:1)

试试这个

in_array($a[storename], $arr)

答案 3 :(得分:1)

您可以使用数组bu

搜索值
  

A。 in_array - 检查数组中是否存在值。in_array返回布尔值

<?php
 $os = array("one", "two", "three", "four");
 if (in_array("two", $os)) {
    echo "Got two";
 }
 if (in_array("one", $os)) {
    echo "Got one";
 }
?>
  

B。 您也可以使用array_search - 在数组中搜索给定值,并在成功时返回相应的键

<?php
 $array = array(0 => 'one', 1 => 'two', 2 => 'three', 3 => 'four');

 $key = array_search('one', $array); // $key = 0;
 $key = array_search('four', $array);   // $key = 3;
 ?>

进一步参考array_searchin_array