【问题标题】:last array value coming blank?最后一个数组值变为空白?
【发布时间】:2011-09-06 00:16:04
【问题描述】:

我的数组是(来自数据库)

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] => )

表示最后一个元素变为空白 我该如何解决这个问题?

【问题讨论】:

    标签: php mysql arrays multidimensional-array


    【解决方案1】:

    这是解决问题的方法

    <?php
      for ($i = 0; $i < $appVenueAmbassador['count']; $i++) {
         $unique[] = $appVenueAmbassador[$i]['user_id'];
      }
    
    ?>
    

    它不会使用最后一个键count

    【讨论】:

      【解决方案2】:

      那是因为最后一个元素是 [count] =&gt; 10 并且没有 user_id。如果您打开错误报告,您应该会看到关于此的警告。此外,您获取该价值的方式非常复杂。试试这个:

      foreach ($appVenueAmbassador as $venue){
         if (isset($venue['user_id'])) {
             $unique[] = $venue['user_id'];
         }
      }
      

      【讨论】:

        【解决方案3】:

        在使用之前检查键是否为数字,或者在处理之前从数组中删除count 索引。

        【讨论】:

          猜你喜欢
          • 2018-06-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-07-13
          • 2013-09-01
          相关资源
          最近更新 更多