ホームページ  >  記事  >  php教程  >  WeChatパブリックプラットフォーム開発例 SAEプラットフォームを実装したPHP開発コード (6) Constellation Story PHP解析xmlファイル

WeChatパブリックプラットフォーム開発例 SAEプラットフォームを実装したPHP開発コード (6) Constellation Story PHP解析xmlファイル

WBOY
WBOYオリジナル
2016-06-21 08:48:461187ブラウズ

今日私たちが提供するのは、毎日の星占いをクエリする機能です。この機能は非常に簡単で、星座の名前と識別子 (「+」記号など) を WeChat プラットフォームに入力すると、バックグラウンド プログラムがこの識別子と照合します。対応する関数を呼び出します。

具体的な処理: 1. 文字列分割関数explode(w3school)を使用して星座名を取得します。

2. 星座名と対応する星座番号を一致させます。

3. この番号を対応する API に渡します。

4. API から返されたデータを XML 形式で受信します。

5. データを XML 形式で処理します。

6. 結果を生成します。

私は制作初心者なので、5番目のステップに時間を費やしました。 API によって返される XML 形式は

です。

[html]

総合運

3ランク>

<値>

恋愛運

3ランク>

<値>

作業状況

2ランク>

<値>

……

2013-11-16

まず、file_get_contents() 関数を使用して、API から返されたデータ ファイルを文字列に読み取ります。次に、simplexml_load_string() 関数を使用して、XML 文字列をオブジェクトにロードします。次に、このオブジェクトを使用して各 XML タグのデータを読み取りますが、ここで問題が発生しました。返される XML 形式のファイルはすべて

です。

[html]

この形式では、「Object」->item->title メソッドを使用して最初のアイテムのデータのみを読み取ることができます。最終的に使用したメソッドは次のとおりです。

[php]

foreach ($xml->item as $th) {

$content_title[$i] = $th->title;

$content_rank[$i] = $th-> ランク

$content_value[$i] = $th->value;

$i++

} }

このオブジェクト「$xml」をトラバースし、自動インクリメント変数 i を使用して、データの各グループを配列に格納します。

foreach ステートメントは、配列をループするために使用されます。

ループが実行されるたびに、現在の配列要素の値が value 変数に割り当てられます (配列ポインターは 1 つずつ移動します)。

文法

[php]

foreach (値としての配列)

{

実行されるコード

}

次の例は、指定された配列の値を出力するループを示しています。

[php]

$arr=array("1", "2", "3");

foreach ($arr を $value として)

{

echo "値: " . $value . "

}

?>

プログラムのソースコードは次のとおりです:

[php]

関数 xingzuo($keyword) {

if (make_xingzuo($keyword)) {

$keyword = make_xingzuo($keyword);

$qurl = 'http://api.uihoo.com/astro/astro.php?fun=day&id=' . $keyword';

$content = file_get_contents($qurl);

$xml = simplexml_load_string($content);

$i = 0;

foreach ($xml->item as $th) {

$content_title[$i] = $th->title;

$content_rank[$i] = $th-> ランク

$content_value[$i] = $th->value;

$i++

} }

"星占い: n 総合運勢:" . $content_rank[1] . "星 n の運勢:" .金運:" . $content_rank[3] . "スター n 健康指数:" . $content_value[4] . "nラッキーカラー:" . $content_value[6] . "nラッキーナンバー:" . $content_value[7] . " nスピードデート星占い:" . $content_value[8] . "n包括的な概要:" . $content_value[9];

}

その他

return "エディターは入力された星座を認識しません>_

";

}

関数 make_xingzuo($keyword){

$arr = array('Aries' => '0','Taurus' => '1','Gemini' => '2','Cancer' => '3','Leo ' => '4'、'乙女座' => '6'、'天秤座' => '7' ' => '8'、'山羊座' => '10'、'魚座' =>

if(strtr($keyword, $arr)0){

strtr($keyword, $arr) を返します

}

else {

は false を返します。

}

}



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