【问题标题】:Invalid argument supplied for foreach() and Undefined offset errors [duplicate]为 foreach() 和未定义的偏移错误提供的参数无效 [重复]
【发布时间】:2021-09-08 14:31:46
【问题描述】:

我有一个这样的数组:

array (size=2)
  'status' => string 'ok' (length=2)
  'data' => 
    array (size=5)
      'sort_data' => 
        array (size=2)
          'sort_column' => string 'order_item_id' (length=13)
          'sort_order' => string 'asc' (length=3)

现在我编写此代码是为了获取 sort_column 和它的价值以及 sort_order 和它的价值:

$status = $response['status'];

if($status == 'ok'){
    $nums = count($response['data']['sort_data']); //retrieves 2
    for($i=0; $i<=$nums; $i++){
        foreach($response['data']['sort_data'][$i] as $key=>$value){
            echo $key."=".$value;
        }
    }
}

但我收到以下错误:

注意:未定义的偏移量:第 6 行为 0

警告:在第 6 行为 foreach() 提供的参数无效

第 6 行:

foreach($response['data']['sort_data'][$i] as $key=>$value){

那么这里出了什么问题?

我怎样才能在这个foreach 中正确获取sort_data 的内容?

更新 #1:

Array
(
    [status] => ok
    [data] => Array
        (
            [sort_data] => Array
                (
                    [sort_column] => order_item_id
                    [sort_order] => asc
                )

【问题讨论】:

  • for($i=0; $i&lt;=$nums; $i++) 会给你一个错误。除此之外,错误正在告诉您确切的问题。您向 foreach 提供一个字符串值。
  • @JohnLobo 我把这个项目放到laravel外面,现在是用纯PHP写的
  • 回声 "
    "; print_r($response);出口();试试这个
  • 我添加了一个更新#1
  • @tejoslaeslio 你也可以发布预期的输出

标签: php arrays laravel multidimensional-array foreach


【解决方案1】:

我认为不需要 for 循环

  if($status == 'ok'){
       
      $sort_column=$response['data']['sort_data']['sort_column'];
      $sort_order=$response['data']['sort_data']['sort_order'];
    }

【讨论】:

  • 然后它会给我两个结果:sort_column=order_item_id & sort_order=asc。我需要将这些中的每一个存储到单独的变量中,例如 $sort_columnsort_order
  • @tejoslaeslio.updated 我的答案
【解决方案2】:

因为键不等于 0,所以这个数组的键是字符串,所以你需要将数组更改为键(0.1.2)或更改为 foreach 使用的键=>这样的值

foreach($response as $responseValue){

  }

【讨论】:

    猜你喜欢
    • 2023-03-27
    • 1970-01-01
    • 2013-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-15
    • 2017-09-28
    • 2016-04-14
    相关资源
    最近更新 更多