gpt4 book ai didi

javascript - 如何在警告消息框中显示 print_r() 内容?

转载 作者:行者123 更新时间:2023-11-30 08:52:31 27 4
gpt4 key购买 nike

我知道每当我写的时候

$food = array('fruit'=>'apple', 'veggie'=>'tomato', 'bread'=>'wheat');
$text = print_r($food, true);
echo $text;

输出将是:

Array('fruit'=>'apple', 'veggie'=>'tomato', 'bread'=>'wheat')

但是当我尝试通过警告消息框显示它时,它没有显示任何内容。
我写的js alert代码如下:

echo "<script type='text/javascript'> alert('{$text}') </script>"; 

这是行不通的。当我为 $text 分配一个不同的字符串时,它就起作用了。似乎 alert() 不喜欢 $t​​est 字符串的格式。 如果我这样写:

echo "<script type='text/javascript'> alert('Array('fruit'=>'apple', 'veggie'=>'tomato', 'bread'=>'wheat')') </script>";

我得到了正确的输出。所以不确定那里出了什么问题。

最佳答案

要将 PHP 数组转换为 javascript 数组,您必须使用 json_encode . JSON(JavaScript Object Notation)是一种基于 JavaScript 的编程语言之间的数据交换格式。由于JSON是一种文本格式,编码后的结果既可以作为字符串使用,也可以作为javascript对象使用。

$food = array('fruit'=>'apple', 'veggie'=>'tomato', 'bread'=>'wheat');

// show the array as string representation of javascript object
echo "<script type='text/javascript'> alert('".json_encode($food)."') </script>";

// show the array as javascript object
echo "<script type='text/javascript'> alert(".json_encode($food).") </script>";

// show the output of print_r function as a string
$text = print_r($food, true);
echo "<script type='text/javascript'> alert(".json_encode($text).") </script>";

一些调试技巧:

  • 用于检查 JavaScript 对象,console.log非常有用
  • 如果您想要更清晰的 print_r 输出(在 Windows 上),请使用:

    function print_r2($val){
    echo '<pre>'.print_r($val, true).'</pre>';
    }

关于javascript - 如何在警告消息框中显示 print_r() 内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16576301/

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