intval($id)
试图"<script>...</script>"
变成一个整数,当然失败了。看看文档(intval
),“返回值”部分告诉:
成功时 var 的整数值,失败时为 0。
另请记住,在打印浏览器端echo
时打印服务器document.write
端。现在,让我们看一下您的 PHP 代码:
<div class="product_id" id="3"></div>
<?php
$id = "<script>id = $('.product_id').attr('id');document.write(parseInt(id));</script>";
echo "<br>"; // prints "<br>"
echo $id; // prints "<script>id = $('.product_id').attr('id');document.write(parseInt(id));</script>"
echo "<br>"; // prints "<br>"
echo intval($id); // prints "0" (since intval failed)
?>
这是加载到浏览器中的结果 HTML:
<div class="product_id" id="3"></div>
<br>
<script>id = $('.product_id').attr('id');document.write(parseInt(id));</script>
<br>
0