久々に平のPHP。どうやら今日はテストの模様。
久々すぎて記事の書き方に戸惑う・・・
目次
ファイルのアップロード
ちょっと関数と変数がお祭りなので割愛(手抜き
JSON
JSONとは
JavaScript Object Notationの略。
軽量なデータ記述言語の1つ。
JavaScriptにおけるオブジェクトの表記法をベースとしているが、JavaScript専用のデータ形式では決してなく、様々なソフトウェアやプログラミング言語間のデータ受け渡しに使える設計。
(ウィキペディアより抜粋)
JSの練習
そもそもこの講座ではJavaScriptやってない、っていうことで練習。
コード
いきなりだけどドーン。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?php $msg = 'Hello'; ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JS練習</title> </head> <body> <script> alert('<?php echo $msg; ?>'); var x = 2; var y = 5; console.log(x+y); document.write('<p>合計は' + (x+y) + 'です。</p>'); var arr = [1,2,3]; var obj = { name:'ポチ', age:5 } </script> </body> </html> |
scriptタグで括られているところがJavaScript記述領域。
alert(message)
引数の文字列を警告ダイアログで表示する。
var
変数の宣言。今回は変数xと変数yを宣言している。
console.log()
コンソールに引数の値を表示する。
デベロッパーツールなどを開くとconsoleの項目に値が表示されている。
document.write()
ドキュメントに引数の文字列を書き出す。
配列
今回は変数arrの宣言、生成と同時に初期化をしている。
Javaと同じようにvar arr = new Array();といった感じで生成と初期化を分離することも可能。
連想配列
PHPと同じようにKey&valueの形で指定できる。
型は問われない。
ただし、PHPと違い=>では無く:で区切る。
また、使い方が大分PHPと違うようなので使うときは注意が必要。らしい。
配列の違い – PHP、JavaScriptの言語比較
配列じゃないらしいっす・・・・それじゃあ使い方変わるよね・・・うん。
オブジェェェェェエエエエエエエエクトォォォォオオオオオ!!!!!(特に意味はない
PHPでJSONデータを取り扱う
まずはこんなJSONファイルもらいました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
{ "kanto" : [ { "name": "sps渋谷店", "address": "東京都渋谷区" }, { "name": "sps目黒店", "address": "東京都目黒区" }, { "name": "sps練馬店", "address": "東京都練馬区" }, { "name": "sps江東店", "address": "東京都江東区" }, { "name": "sps千代田店", "address": "東京都千代田区" } ], "kansai" : [ { "name": "sps綾部店", "address": "京都府綾部市" }, { "name": "sps京丹後店", "address": "京都府京丹後市" }, { "name": "sps城陽店", "address": "京都府城陽市" }, { "name": "sps福知山店", "address": "京都府福知山市" }, { "name": "sps舞鶴店", "address": "京都府舞鶴市" } ] } |
spsってなんぞ?と思ってggったけど何だか分からなかった。
sps渋谷店ってggると「もしかして: ships渋谷店」とのこと。
違うなーうーん違うなー。
コード
1 2 3 4 5 6 |
<?php $json = file_get_contents('jsondata.json'); $shops = json_decode($json,true); echo '<pre>'; print_r($shops); echo '</pre>'; |
とりあえず今回はただ表示するだけ。実際はもっとUIも含めた成形をする。
file_get_contents
ファイルの内容を全て文字列に読み込む。
引数に指定したファイル(URL)の内容を読み込む。
json_decode
JSON 文字列をデコードする=JSONエンコードされた文字列をPHP変数に変換する。
第一引数:対象となるJSON文字列
第二引数:trueにすると返ってくるオブジェクトが連想配列形式になる。
JSON形式のファイルを吐き出すAPIは豊富にあるので、欲しいデータを取り扱っているAPIがあったら自分で準備しなくていいので便利。
無ければ欲しいデータを取り出すAPI作ってもよい。
コメント
No Trackbacks.