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

JavaScript

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

広告

関連記事

新着記事

広告