この記事について
| 環境 | PHP、javascript / jQuery |
|---|---|
| 目的 | PHPの配列をjavascriptに渡す |
| 結果 | json_encodeで変換してJSON.parseで受け取る。外部jsファイルへはカスタムデータ属性経由で渡す |
PHPの配列をjavascriptに渡す場合は、いったんjson形式に変換するといい。
スクリプト例 ここから
<?php
$hairetu = array('りんご', 'もも', 'なし');
//配列をJavaScriptに渡すために一度jsonに変換
$jsonTest=json_encode($hairetu);
?>
<html>
<head>
<title>タイトル</title>
</head>
<body>
<script type="text/javascript">
//JSON.parseを使って配列を受け取る
var test=JSON.parse('<?php echo $jsonTest; ?>');
for (var i = 0; i < test.length; i++) {
alert(test[i]);
}
</script>
</body>
</html>
ここまで
参考サイト
http://future-software-labo.anyagent.net/php%E3%81%8B%E3%82%89javascript%E3%81%AB%E9%85%8D%E5%88%97%E3%82%92%E6%B8%A1%E3%81%99/
javascriptファイルが外部ファイルの場合
PHPファイル
//カスタムデータ属性にjson形式の配列をセット
<script id="script" src="js/script.js" data-json-test ='<?php echo json_encode($hairetu)?>'></script>
javascriptファイル
script.js(外部ファイル)
//jQueryを利用してカスタムデータ属性にアクセス
var $script = $('#script');
var test = JSON.parse($script.attr('data-json-test'));
参考サイト
http://qiita.com/cither/items/b98cc4e237dcc8f7e51f
http://dresscording.com/blog/html5/custom_data_attribute.html
