ホームページ >バックエンド開発 >PHPチュートリアル >PHP はページ上の配列を取得し、出力をループします。

PHP はページ上の配列を取得し、出力をループします。

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

PHP はページ上の配列を取得し、出力をループしてオンラインで待機します
この URL のコンテンツを取得するために file_get_contents() を使用しました
http://simonfenci.sinaapp.com/index.php?key=simon&wd= 1314abc

は配列を返すようです。 。しかし、foreach ループをどのように使用しても、エラーが発生します。 。

配列内の word の値を取り出したいだけです。 。緊急
-----解決策のアイデア----------------------

$s = file_get_contents('http://simonfenci.sinaapp.com/index.php?key=simon&wd=1314abc');<br />preg_match_all('/\[word\] => (.+)/', $s, $m);<br />print_r($m[1]);
Array<br />(<br />    [0] => 1314<br />    [1] => abc<br />)<br /><br />

-----解決策のアイデア----------------------
<br />$s=file_get_contents('http://simonfenci.sinaapp.com/index.php?key=simon&wd=1314abc');<br />$rule='#(?<=\[word\] =>)\s\w+#';<br />preg_match_all($rule,$s,$arr);<br />print_r($arr);<br />


<br />Array<br />(<br />    [0] => Array<br />        (<br />            [0] =>  1314<br />            [1] =>  abc<br />        )<br /><br />)<br />

-----ソリューションのアイデア----------------------

http://simonfenci.sinaapp.com/index.php?key=simon&wd=1314abc
返される内容は次のとおりです:
string(247) "Array ( [0] => Array ( [word ] => 1314 [単語タグ] => 90 [インデックス] => 0 ) [1] => 配列 ( [単語] => [単語タグ] => 95 [インデックス] => 1 ) ) "

//配列ではなく配列構造の文字列

//エンコード

<br />$arr = array(<br />    0=>array(<br />        'word '=> 1314,<br />        'word_tag'=> 90,<br />        'index' => 0<br />    ),<br />    1 => Array(<br />        'word' => 'abc',<br />        'word_tag' => 95,<br />        'index' => 1<br />    )<br />);<br />echo( json_encode($arr) );<br /><br />


//デコード

<br />$arr    = array();<br />$url    = 'http://simonfenci.sinaapp.com/index.php?key=simon&wd=1314abc';<br />$ch     = curl_init();<br />curl_setopt($ch, CURLOPT_URL, $url);<br />curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);<br />curl_setopt($ch, CURLOPT_HEADER, 0);<br />$output = curl_exec($ch);<br />$arr    = json_decode($output,true);<br />curl_close($ch);<br />


シリアル化関数 Serialize() および unserialize() を使用して json を置き換えることもできます。




-----ソリューションのアイデア----------------------
補足:

//json が返す文字列
[{"word ":1314,"word_tag":90,"index":0},{"word":"abc ","word_tag":95,"index":1}]

//返された文字列をシリアル化します
a:2:{i:0;a:3:{s:5:" word ";i:1314;s:8:"単語タグ";i:90;s:5:"インデックス";i:0;}i:1;a:3:{s:4:"単語";s : 3:"abc";s:8:"word_tag";i:95;s:5:"index";i:1;}}

明らかに直接 var_export($val,true); よりも優れています。出力が短くなり、簡単に復元できます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。