问题描述
|
我的数组是(来自数据库)
Array ( [0] => Array ( [date] => 2011-05-12 [user_id] => 48 ) [1] => Array ( [date] => 2011-05-31 [user_id] => 77 ) [2] => Array ( [date] => 2011-05-03 [user_id] => 318 ) [3] => Array ( [date] => 2011-05-20 [user_id] => 619 ) [4] => Array ( [date] => 2011-05-21 [user_id] => 619 ) [5] => Array ( [date] => 2011-05-25 [user_id] => 619 ) [6] => Array ( [date] => 2011-05-28 [user_id] => 619 ) [7] => Array ( [date] => 2011-05-11 [user_id] => 747 ) [8] => Array ( [date] => 2011-05-12 [user_id] => 747 ) [9] => Array ( [date] => 2011-05-29 [user_id] => 747 ) [count] => 10 )
当我使用
foreach($appVenueAmbassador as $kk => $venueUserId){
$unique[] = $appVenueAmbassador[$kk][\'user_id\'];
}
在那个查询上然后我得到
Array ( [0] => 48 [1] => 77 [2] => 318 [3] => 619 [4] => 619 [5] => 619 [6] => 619 [7] => 747 [8] => 747 [9] => 747 [10] => )
表示最后一个元素为空
我怎么解决这个问题 ?
解决方法
那是因为最后一个元素是
[count] => 10
,而没有user_id
。如果您要打开错误报告功能,则应该会看到关于此的警告。而且,您获取该价值的方式非常复杂。尝试这个:
foreach ($appVenueAmbassador as $venue){
if (isset($venue[\'user_id\'])) {
$unique[] = $venue[\'user_id\'];
}
}
, 在使用键之前,请先检查键是否为数字,或者在处理之前从数组中删除“ 6”索引。
, 这是解决问题的一种方法
<?php
for ($i = 0; $i < $appVenueAmbassador[\'count\']; $i++) {
$unique[] = $appVenueAmbassador[$i][\'user_id\'];
}
?>
它将不使用最后一个键count