<script type="text/javascript">
// boolean outputs "" if false, "1" if true
var bool = "<?php echo $bool ?>";
// numeric value, both with and without quotes
var num = <?php echo $num ?>; // 7
var str_num = "<?php echo $num ?>"; // "7" (a string)
var str = "<?php echo $str ?>"; // "A string here"
</script>
//this is my code
$value = <<<data
<!--instead of writing data we can name it anything
as long as we close it with the same name,
and that name must not be a keyword in javascript -->
<script>
document.write("hello world");
</script>
data;
so the php variable $value will not store the string "hello world" inside it,
so the php variable is just a temporary container for the javascript code and nothing else,
and if we echo the vairable like this:-
echo $value;
then hello world will be printed in the browser page,
and it is the same as using echo to excute a javascript code, so it is as:-
echo "<script>document.write("hello world")</script>"
//using console instead of document.write
$value = <<<inConsole
<script>
console.log("hello world");
</script>
inConsole;
but the value will not be printed in the console unless we echo the variable,
like this:-
echo $value
then hello world will be printed in the console
//other examples such as storing data to localstorage
$local = <<<localstorage
<script>
localStorage.setItem("anything", "hello");
</script>
localstorage;
but this code will not work until we echo the variable such as:-
echo $local
and if we open the console and write localstorage then the item anything
with its value hello will appear
and if we want to remove the item from localstorage then use this code:-
$local = <<<localstorage
<script>
localStorage.removeItem("anything");
</script>
localstorage;
echo $local;
note: never forget to use the echo statement or the code will not work
and if we want to get data from localstorage, we use this code
$local = <<<localstorage
<script>
let a = localStorage.getItem("anything");
document.write(a);
</script>
localstorage;
echo $local;
then the value of the varaible a will be print in the webpage,