多维度ARRAY - 3级和4级

时间:2015-11-16 11:20:20

标签: php arrays loops multidimensional-array foreach

我有这个3和4多维数组($ response),我需要"提取"一些价值观。

insmod my_sample.ko

在[meta]数组中,我需要[total_count]值,而对于[object]数组,我希望获取所有值以使它们连续显示(每个对象都是一个新行)

我在foreach中尝试过foreach或使用$ response [0] [0] [0]访问数据但是没有做到。

如果有人能引导我解决问题......

非常感谢!!

3 个答案:

答案 0 :(得分:0)

您可以将“count”功能与“COUNT_RECURSIVE”标志一起使用。它计算'mixed'var中的所有项目。它也会计算父元素。

count($array['objects'],COUNT_RECURSIVE);

例如

$cibo = array(
        'frutta' => array('arancia', 'banana', 'mela'),
        'verdura' => array('carota', 'zucchina', 'piselli')
);

echo count($cibo,COUNT_RECURSIVE); // output 8

答案 1 :(得分:0)

首先,要验证,如果$array是您的数组的名称:

$response = $array["response"];
  

在[meta]数组中,我需要[total_count]值

echo $response["meta"]["total_count"];
  

对于[object]数组,我想让所有的值连续显示它们(每个对象都是一个新行)。

对所有对象使用foreach()函数:

foreach($response["objects"] as $object){
    print_r($object);
}

答案 2 :(得分:0)

您可以通过$response['response']['meta']访问元数组。从数组中可以看出,response和meta都是键,total_count也是如此。因此,访问总计数由$response['response']['meta']['total_count']完成。

然后循环浏览所有对象,只需执行

foreach ($response['response']['objects'] as $object) {
    print_r($object);
}

您还可以使用数组键单独访问对象的每个属性:

foreach ($response['response']['objects'] as $object) {
    echo $object['answer_time'];
    echo $object['bill_duration'];
    echo $object['billed_duration'];
    echo $object['call_direction'];
    echo $object['call_duration'];
    echo $object['call_uuid'];
    echo $object['end_time'];
    echo $object['from_number'];
    echo $object['initiation_time'];
    echo $object['parent_call_uuid'];
    echo $object['resource_uri'];
    echo $object['to_number'];
    echo $object['total_amount'];
    echo $object['total_rate'];
}