问题描述
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){
那么这里出了什么问题?
如何正确获取此 sort_data
中的 foreach
内容?
更新 #1:
Array
(
[status] => ok
[data] => Array
(
[sort_data] => Array
(
[sort_column] => order_item_id
[sort_order] => asc
)
解决方法
我认为不需要 for 循环
if($status == 'ok'){
$sort_column=$response['data']['sort_data']['sort_column'];
$sort_order=$response['data']['sort_data']['sort_order'];
}
,
因为键不等于 0,所以这个数组的键是字符串,所以你需要将数组更改为键 (0.1.2) 或更改为 foreach 使用的键 => 像这样的值
foreach($response 作为 $responseValue){
}