【发布时间】:2013-06-27 11:43:32
【问题描述】:
我有一个循环如下:
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 也不适合我。
【问题讨论】:
-
如果返回
false,那是因为数组中不存在$hq_id。那么var_dump($hq_id)呢?此外,您应该更喜欢foreach而不是for,除非有理由使用后者(大多数时候没有)。 -
hq_id在这种情况下是10。所以我希望总数为2。 -
var_dump($hq_id)-- 请不要让我乞求。 -
你试过
array_walk_recursive了吗? -
$special_holidays += $special_holidays;=0 + 0 + 0 + ...
标签: php arrays associative-array