尽管我发现了一些关于 PHP 中 echo 和 print_r() 之间一般差异的讨论(例如,PHP 中的 echo、print 和 print_r 之间有什么区别?),但我遇到的所有 AJAX 调用教程和答案说PHP应该回显结果,然后死。
在返回一个简单字符串的实验中,当使用 console.log 显示时,我没有发现两者之间有任何区别。
使用 echo 与 print_r 时返回到 AJAX 调用的内容是否有任何显着差异。并不是说我发现使用 echo 有什么问题,但是当我早些时候在函数中使用 print_r 进行调试时确实得到了意想不到的结果。
最常见的内置在PHP中输出功能有:echo
,print
,printf
,print_r
,var_dump
,和var_export
。它们都旨在输出数据,尽管方式略有不同。这就是为什么每个功能都有特定的用例。
echo:最臭名昭著的。您应该使用它来将数据输出到 AJAX 调用方。它简单而有效。它实际上是一种语言结构,因此不需要您使用方括号。您只需编写echo 'string';
orecho $something;
等。
它还支持多个逗号分隔值,使其在各种用例中都很方便;例如,echo 'string1', 'string2', 'string3';
。请注意,echo返回null
(无)。
1
。如果您愿意,可以使用print而不是echo,但是许多流行的 PHP 项目都有代码标准要求您不要这样做。因此,打印或多或少已成为PHP 中未使用(或很少使用)的函数。sprintf()
旨在输出格式化的字符串。它稍微复杂一些,但确实有特定的用例。例如,这些通常用于将整数输出为二进制数或八进制数,用于翻译,以及 PHP.net 中详细记录的许多其他选项 - 这是一个单独的主题。print_r、var_dump和var_export:这些在以一种或另一种方式调试代码或测试代码时最常用。您很少会在生产代码中找到它们的用例。也就是说,这些允许您传入复杂的数据类型,例如整个数组,并递归地打印_r,以转储整个数组进行分析。var_dump 的作用几乎相同,但使用了一种有时可能有用的略有不同的方法。var_export具有输出可解析字符串的优点。
print_r和var_export都支持可以“返回”通常输出的值的参数,这是一个方便的功能。var_dump无法做到的事情。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句