2

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

$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

4 回答 4

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";
}
于 2012-05-03T08:53:32.073 回答
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;
?>
于 2012-05-03T08:54:15.363 回答
1

尝试这个

in_array($a[storename], $arr)
于 2012-05-03T09:05:25.763 回答
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

于 2012-05-05T07:45:59.800 回答