Heim  >  Artikel  >  Backend-Entwicklung  >  php 怎么取Array值

php 怎么取Array值

WBOY
WBOYOriginal
2016-06-13 12:56:15889Durchsuche

php 如何取Array值。

<br />
Array<br />
(<br />
    [0] => HTTP/1.1 200 OK<br />
    [1] => Date: Mon, 24 Dec 2012 16:15:18 GMT<br />
    [2] => Server: BWS/1.0<br />
    [3] => Content-Length: 9888<br />
    [4] => Content-Type: text/html;charset=gbk<br />
    [5] => Cache-Control: private<br />
    [6] => Expires: Mon, 24 Dec 2012 16:15:18 GMT<br />
    [7] => Set-Cookie: BAIDUID=9AFFEA9B11EC8D358FC1A13A8DCC83F9:FG=1; expires=Mon, 24-Dec-42 16:15:18 GMT; path=/; domain=.baidu.com<br />
    [8] => P3P: CP=" OTI DSP COR IVA OUR IND COM "<br />
    [9] => Connection: Close<br />
)<br />


用get_headers,如何取到网页头Cookie值。


------解决方案--------------------
<br />
$array = array('Set-Cookie: BAIDUID=9AFFEA9B11EC8D358FC1A13A8DCC83F9:FG=1; expires=Mon, 24-Dec-42 16:15:18 GMT; path=/; domain=.baidu.com');<br />
foreach ($array as $value) {<br />
    if (stripos($value, 'Set-Cookie') !== false)<br />
        echo $value;<br />
}<br />

------解决方案--------------------
get_headers(); 第二个参数可以让响应标题作为键名
<?php<br />
$header = get_headers('http://www.baidu.com/', true);<br />
$c = $header['Set-Cookie'];<br />
// 响应头里可以包含多个 Set-Cookie,所以统一为数组处理<br />
if( ! is_array($c) ) $c = array($c);<br />
foreach($c as $i){<br />
    $s = explode('=', substr($i, 0, strpos($i, ';')), 2);<br />
    $cookie[$s[0]] = $s[1];<br />
}<br />
var_dump( $cookie);

还有一些网站是以 set-cookie 响应,而不是Set-Cookie 这样的。所以程序还是有一些Bug,你可以自己去实现,不过我更推荐你使用 curl
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn