0

我有一个循环如下:

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也不是我的选择。

4

1 回答 1

0

我认为您想改用 array_search() 。注意返回值可能是布尔值

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

PHP 手动数组)search()

于 2013-06-27T12:02:02.193 回答