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_searchおよびin_arrayを参照してください

于 2012-05-05T07:45:59.800 に答える