PHP API呼び出し Mydocument

しなくてはいけないこと

  • まずHTMLから入力内容を取得
  • PHPにてjsonデータをパースする

$_GET inputタグに仕込むので、そこにcityというキーが入っているか?

array_key_exists関数を利用

array_key_exists — 指定したキーまたは添字が配列にあるかどうかを調べる
* 第一引数: 調べる値
* 第二引数: 調べたい配列

注意 連結演算子 . は 文字列の中で利用するときは ””ダブルクオートの中に配置すること urlなど

PHPの中で利用するときは""の外側で利用する

PHPにてjsonデータをパースする。

file_get_contents 関数を利用

PHP: file_get_contents - Manual

string file_get_contents ( string $filename [, bool $use_include_path = FALSE [, resource $context [, int $offset = 0 [, int $maxlen ]]]] )

第一引数にデータを読み込みたいファイルの名前を指定する。urlでも可能 戻り値 読み込んだデータを返す

urlなど長い文を入力する時、PHPは改行を入れると動かなくなることがあるので注意!!

-配列を定義 そこから取り出す

パースする関数はそれぞれの原語で用意されている

PHPは json_decode

PHP: json_decode - Manual

第二引数をtrueにすると、ハッシュにしてくれるので読みやすい それを print_r で呼び出してチェックする。

PHP: print_r - Manual

読みやすくしてくれる関数。 右クリックで"ページのソース"を表示で確認

Array
(
    [coord] => Array
        (
            [lon] => -0.13
            [lat] => 51.51
        )

    [weather] => Array
        (
            [0] => Array
                (
                    [id] => 300
                    [main] => Drizzle
                    [description] => light intensity drizzle
                    [icon] => 09d
                )

        )

変数に詰め込んで、各要素にアクセスする ここではmainに天気があるので、それを取得したい。 weatherArrayはデコードして詰め込んだ変数。

$weatherArray['weather'][0]['main'];