【问题标题】:Get data in browser from return statement从返回语句中获取浏览器中的数据
【发布时间】:2015-04-12 14:05:19
【问题描述】:

我有这个简单的 PHP 脚本:

<?php 

    return array (
        'information' => array (
            'key' => 'value'
        );
    );  

?>

当我在浏览器中调用这个脚本时,有一个清晰的 HTML 页面。这很正常。

有什么方法可以捕获这个数组并在浏览器中读取它?
例如控制台(萤火虫)或kali linux等?

【问题讨论】:

  • 既然不发给客户怎么能看到呢?
  • 当我用php返回一个数组时它不是发送到客户端吗?
  • 因为当我 var_dump 它时,它会显示在页面上,但是无法通过 http 响应等读取它。?
  • var_dump() 打印数据并将其发送给客户端;不仅使用 return 语句,您不能向客户端发送数据
  • (顺便说一句:我假设内部分号是错字)

标签: php arrays linux return


【解决方案1】:

return statement 完全是 PHP 内部的,它对任何其他进程都不可见。在您使用它的上下文中,该参数被简单地忽略。无论如何,除了 PHP 之外的任何东西都无法理解数组之类的东西,因为这是 PHP 运行时引擎独有的数据结构。

PHP 脚本(在 Web 服务器上下文中)的主要“结果”是它的输出,它通过 Web 服务器传递到连接另一端的浏览器。您还可以使用 header() 函数影响 Web 服务器将包含的 HTTP 标头。

要输出数据以供其他地方使用,您需要提出一个字符串表示形式。最简单的可能是使用echo json_encode($value);

【讨论】:

    【解决方案2】:

    不,return 不会将数据发送到客户端。如果您在全局范围内执行 return 语句,您将结束脚本。您还可以在手册中阅读有关return 的更多信息。

    还有一段话:

    如果从全局范围e调用,则当前脚本文件的执行结束。如果当前脚本文件已包含或需要,则控制权将传递回调用文件。

    【讨论】:

    • 所以无法捕捉到这些信息?
    • @alkilinux 仅使用此脚本和返回语句号。你不向客户端发送任何东西,你只是停止脚本执行。
    猜你喜欢
    • 2011-09-03
    • 1970-01-01
    • 1970-01-01
    • 2018-01-08
    • 2020-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-05
    相关资源
    最近更新 更多