PHPの配列をjavascriptに渡す

この記事について

環境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
タイトルとURLをコピーしました