gpt4 book ai didi

php - 简单的PHP网页中有趣的输出

转载 作者:行者123 更新时间:2023-12-02 06:40:38 24 4
gpt4 key购买 nike

这是一个非常简单的PHP页面,其中包含一个javascript函数。我看到的输出有所不同。我不明白为什么会这样。

在下面的代码中,x回显为012012,但是当我将其传递给javascript函数并在innerHTML中显示时,它显示为5130!

有人可以帮忙吗?

<?php
$x= date("mY");
echo $x;
?>
<html>
<head>
<script>
function myfunc1(y)
{
div1 = document.getElementById("mydiv1")
div1.innerHTML = y;
}
</script>
</head>
<body <?php echo "onload='myfunc1(".$x.")'>";?>
<div id="mydiv1" style="background:#efefef;border:1px solid green;height:100px;width:100px;text-align:center">
</div>
</body>
</html>

HTML输出
012012<html>
<head>
<script>
function myfunc1(y)
{
div1 = document.getElementById("mydiv1")
div1.innerHTML = y;
}
</script>
</head>
<body onload='myfunc1(012012)'> <div id="mydiv1" style="background:#efefef;border:1px solid green;height:100px;width:100px;text-align:center">
</div>
</body>
</html>

HTML输出(屏幕截图)

最佳答案

发生这种情况是因为012012被视为int。但是,由于它以0开头,因此JavaScript将其视为基数8(八进制),因此将其转换为5130

您需要将012012用引号引起来,因此JavaScript会将其视为字符串。另外,我建议仅使用PHP来回显所需的值,而不是整个函数调用。使调试稍微容易一些。

<body onload="myfunc1('<?php echo $x;?>')">

关于php - 简单的PHP网页中有趣的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8744796/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com