/ / Como renderizar a saída do PHP para inicializar uma variável em JavaScript? - javascript, php

Como renderizar a saída do PHP para inicializar uma variável em JavaScript? - javascript, php

Quero chamar uma função PHP no código JavaScript que ecoa um valor:

<?php
function ex()
{
$num=10;
echo($num);
}
echo "<script type="text/javascript">
function sam_click(clicked)
{
var x="<?php ex(); ?>";
alert(x);
return false;
}
</script>"?>

No entanto, não funciona. Você pode ajudar?

Respostas:

1 para resposta № 1

Tente isto:

<?php
function ex()
{
$num=10;
echo($num);
}
echo "<script type="text/javascript">
function sam_click(clicked)
{
var x="" . ex() . ">";
alert(x);
return false;
}
</script>"?>

1 para resposta № 2

Apenas tente com:

...
var x="" . ex() . "";
...

1 para resposta № 3

Tente repetir apenas o que você precisa

<?php
function ex()
{
$num=10;
echo($num);
}
?>

<script type="text/javascript">
function sam_click(clicked)
{
var x="<?php ex(); ?>";
alert(x);
return false;
}
</script>

0 para a resposta № 4
function ex()
{
$num=10;
echo $num;
return $num; // if you want to get JS alert
}
echo "<script type="text/javascript">
function sam_click(clicked)
{
var x=".ex().";
alert(x);
return false;
}
sam_click(); // if you want to get JS alert
</script>";

0 para a resposta № 5

em vez de ecoar o $ num, retorne-o como resultado e, a seguir, acrescente-o à parte do script.

<?php
function ex()
{
$num=10;
return ($num);
}
echo "<script type="text/javascript">
function sam_click(clicked)
{
var x="" . ex() . "";
alert(x);
return false;
}
</script>"?>

0 para a resposta № 6

outra solução com heredoc e nowdoc:

<?php

// helper to call functions as nowdoc
// example: {$fn( function() )}
function fn($functionCall)
{
return $functionCall;
}
$fn = "fn";

function ex()
{
return 20;
}

$js = <<<EOT
<script type="text/javascript">
function sam_click(clicked)
{
var x="{$fn(ex())}";
alert(x);
return false;
}
</script>
EOT;

echo $js;

Encontre mais detalhes no PHPDoc: