从多维数组php中提取值

时间:2015-12-21 17:55:39

标签: php

我正在使用CURL来处理输出多维数组的多个请求。我需要从输出中提取3个值(url,content_type和http_code),然后分别将每个值分配给一个新数组,即$array1=url $array2=content_type $array3=http_code.

我尝试使用for语句来提取每个值但是没有按预期工作,我得到了

  

“未定义的偏移:”

     

数组输出

     

数组([http://example1/] =>数组([url] => http://example1/   [content_type] => [http_code] => 405 [header_size] => 249   [request_size] => 48 [filetime] => -1 [ssl_verify_result] => 0   [redirect_count] => 0 [total_time] => 0.328 [namelookup_time] => 0   [connect_time] => 0.172 [pretransfer_time] => 0.172 [size_upload] => 0   [size_download] => 0 [speed_download] => 0 [speed_upload] => 0   [download_content_length] => 0 [upload_content_length] => -1   [starttransfer_time] => 0.328 [redirect_time] => 0 [redirect_url] =>   [primary_ip] => 204.79.197.200 [certinfo] => Array()[primary_port]   => 80 [local_ip] => 192.168.2.12 [local_port] => 55536)[http://example2/] =>数组([url] => http://example2/ [content_type]   =>为text / html; charset = utf-8 [http_code] => 200 [header_size] => 699 [request_size] => 57 [filetime] => -1 [ssl_verify_result] => 0   [redirect_count] => 0 [total_time] => 0.453 [namelookup_time] => 0.015   [connect_time] => 0.203 [pretransfer_time] => 0.203 [size_upload] => 0   [size_download] => 0 [speed_download] => 0 [speed_upload] => 0   [download_content_length] => -1 [upload_content_length] => -1   [starttransfer_time] => 0.453 [redirect_time] => 0 [redirect_url] =>   [primary_ip] => 104.16.34.249 [certinfo] => Array()[primary_port]   => 80 [local_ip] => 192.168.2.12 [local_port] => 55539))

for($y=0;$y<= (count($array1)-1);$y++){
      echo $array1 [$y][0][1][2];
  }

1 个答案:

答案 0 :(得分:0)

如果你想得到这个:

$array1 = [
    'content_type' => ['', 'text/html; charset=utf-8']
];

$array2 = [
    'url' => ['http://example1/', 'http://example2/']
];

$array3 = [
    'http_code' => [405, 200]
];

然后尝试使用foreach循环。

foreach ($output as $url => $values) {
    $array1['content_type'][] = $values['content_type'];
    $array2['url'][] = $values['url'];
    $array3['http_code'][] = $values['http_code'];
}

详细了解foreach loopArray type。同样在关联数组中,您无法使用数字索引获取值,而是使用字符串而不是。