phpの変数の中身をjavascript(jQuery)で処理する方法

javascript

外部jsファイルの中ではphpが使えないため、phpで得られた結果をjavascript(jquery)で処理することができません。
この記事ではphpで受け取った値をjavascript(jquery)で使用する方法を3つ紹介します。

スポンサーリンク

phpファイルにjavascriptの処理を直書き

javascriptの処理をphpファイルに直書きすることで、phpの結果をjavascriptで処理できます。

【sample.php】
<?php $str = "phpの変数です。"; ?>
<script>
console.log("<?php echo $str; ?>");
</script>

【コンソール出力結果】
phpの変数です。

ただし、このやり方では外部jsの処理に値を渡すことはできません。

グローバル変数にphpの値を渡す【外部js可】

phpファイル内でjavascriptのグローバル変数を作り、それに値を渡します。
こうすることで外部jsからでも呼び出すことができます。

【sample.php】
<?php $gStr = "グローバル変数に渡して外部jsで処理"; ?>
<script>
var gStr = "<?php echo $gStr ?>";
</script>

【sample.js】
console.log(gStr);

【コンソール出力結果】
グローバル変数に渡して外部jsで処理

ただしこのやり方では無名関数の中やjQuery関数の中で値を使うことが出来ません。

オブジェクト変数にphpの値を渡す【外部js可】

phpファイル内でjavascriptオブジェクトを生成し、そのオブジェクト変数に値を渡します。
こうすることで外部jsからでも呼び出すことができます。

【sample.php】
<?php $str = "オブジェクト変数に渡して外部jsの無名関数で処理"; ?>
<?php $jStr = "オブジェクト変数に渡して外部jsのjQuery関数で処理"; ?>
<script>
var php = {
str: "<?php echo $str; ?>",
jStr:"<?php echo $jStr; ?>",
};
</script>

【sample.js】
(function(){
console.log(php.str);
})();
$(function(){
console.log(php.jStr)
});

【コンソール出力結果】
オブジェクト変数に渡して外部jsの無名関数で処理
オブジェクト変数に渡して外部jsのjQuery関数で処理

こうすることで無名関数やjquey関数の中でもphpが返した結果を使うことができます。

個人的にはオブジェクト変数で渡す方法が使いやすそうです。

コメント