我完全不知道如何在输出echo语句中将字符串表示到屏幕来调试php。
首先,这对我来说非常适合:
echo "<script type='text/javascript'>alert('Web Site Under Test -- line 344');</script>";
这使用双引号作为echo语句的一部分,在命令的外部,可以这么说,并在alert语句上使用单引号。它有效。
那么我如何在alert语句中发送字符串变量的内容?
我认为这应该有用
echo "<script type='text/javascript'>alert('$admin_ary -- ' $admin_ary);</script>";
我是对的吗?
更新
变量是一个数组,而不是一个字符串。
因此使用addslashes
无效
例如,这一行:
echo "<script type='text/javascript'>alert('".addslashes($admin_ary." -- ".$admin_ary)."');</script>"; */
生成一条说明
的警告数组 - 数组
答案 0 :(得分:2)
关于它有很多种方法,但变量在双引号内作为值而不是实际字符串传递。所以你可以自由地alert('$admin_ary -- $admin_ary');
(注意单引号是如何被移动的,因为javascript字符串需要在引号中)。
您也可以连接字符串,如此
echo "<script type='text/javascript'>alert('".$admin_ary." -- ".$admin_ary."');</script>";
或者只是跳出PHP来获取大部分字符串,并在需要时回显,比如
<?php /* Do PHP stuff */ ?>
<script type="text/javascript">alert('<?php echo $admin_ary." -- ".$admin_ary; ?>');</script>
<?php /* More PHP stuff */ ?>
如果您的$admin_ary
包含单引号'
,则会破坏javascript。您可以通过使用PHP函数addslashes()
来逃避它们来解决这个问题,这可以像这样完成
echo "<script type='text/javascript'>alert('".addslashes($admin_ary." -- ".$admin_ary)."');</script>";
答案 1 :(得分:1)
$wstr = 'www';
w_js_pure_alert($wstr);
function w_js_pure_alert($str)
{
echo '<script>alert("' . $str . '");</script>';
}
function w_js_pure_console($val)
{
echo '<script>console.log("' . $val . '");</script>';
}
function w_js_window_location($filename)
{
echo '<script>window.location="' . $filename . '"</script>';
}