donk68254 2017-08-11 06:17
浏览 26

PHP数组索引未定义,虽然它存在

Given an array as follow :

$z = [
 "cat lovers" => [
     "name" => "cat lovers",
     "impressions" => 2038,
     "ctr" => 0.032875368007851,
     "actions" => [
       [
         "action_type" => "attention_event",
         "value" => "232",
       ],
       [
         "action_type" => "landing_page_view",
         "value" => "18",
       ],
     ],
 "shorty kodi" => [
     "name" => "shorty kodi",
     "impressions" => 534,
     "ctr" => 0.041198501872659,
     "actions" => [
       [
         "action_type" => "attention_event",
         "value" => "56",
       ],
       [
         "action_type" => "landing_page_view",
         "value" => "7",
       ]
     ]
]

Following code run with no error :

foreach($z as $i) {
    print_r(array_column($i["actions"], "action_type"));
}

But if we remove the print_r function to like :

foreach($z as $i) {
   $b = array_column($i["actions"], "action_type");
}

It results an error saying :

PHP error:  Undefined index: actions on line 2

Any idea why?

Thanks

  • 写回答

6条回答 默认 最新

  • douwen1313 2017-08-11 06:26
    关注

    It's working fine, I just checked it. put print_r($b); inside or after foreach. You will get the same result as you're getting from the first foreach.

    评论

报告相同问题?

悬赏问题

  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 51单片机中C语言怎么做到下面类似的功能的函数(相关搜索:c语言)
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比