搜索关联数组中是否存在元素

时间:2013-06-27 11:43:33

标签: php arrays associative-array

我有一个循环如下:

for( $m = 0; $m < count( $spcl_holiday_list_r ); $m++ )
{

    $region_str = $spcl_holiday_list_r[$m]['region'];

    $region_arr =  explode(",",$region_str);

    var_dump( $region_arr ) ;

    if( in_array( $hq_id , $region_arr ) )
    {
        $special_holidays += $special_holidays;
    }
}
}
echo $special_holidays;

var_dump( $region_arr )显示:

array
  0 => string '2' (length=1)
  1 => string '4' (length=1)
  2 => string '5' (length=1)
  3 => string '7' (length=1)
  4 => string '10' (length=2)
array
  0 => string '3' (length=1)
array
  0 => string '10' (length=2)

in_array( $hq_id , $region_arr )始终返回FALSE!所以我想知道如何为关联数组实现函数in_array()?查看我的数组输出和要求,array_key_exists对我来说也不是一个选项。

1 个答案:

答案 0 :(得分:0)

我认为你想要使用array_search()。 注意返回值可能是布尔值

if ( array_search($hq_id , $region_arr) !== FALSE )

PHP Manual array)search()