ホームページ  >  記事  >  バックエンド開発  >  PHPで配列の値を取得する方法

PHPで配列の値を取得する方法

WBOY
WBOYオリジナル
2016-06-13 12:56:15913ブラウズ

PHPで配列の値を取得する方法。

<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 を使用して、Web ページ ヘッダーの 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(); 2 番目のパラメータは、応答ヘッダーをキーとして使用できます。名前
<?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 で応答する Web サイトもいくつかあります。したがって、プログラムにはまだいくつかのバグがあります。自分で実装することもできますが、curl
を使用することをお勧めします。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。