标签: var-dump

如何使用PHP获取实例ID

我正在寻找一种方法来获取PHP的给定对象/资源的实例ID,就像var_dump()一样:

var_dump(curl_init()); // resource #1 of type curl
var_dump(curl_init()); // resource #2 of type curl
Run Code Online (Sandbox Code Playgroud)

如何在不调用var_dump()的情况下获取实例计数?可能吗?

php resources object instance var-dump

4
推荐指数
2
解决办法
5975
查看次数

将返回值转储为 Laravel 中的扩展数组

我正在使用dump($value)函数。我有一个关联数组,其中有很多条目。我需要立即查看这些值,而无需在转储时单击扩展按钮。我可以var_dump()立即看到它,但我更喜欢使用 dump,因为它是现代且交互式的。下面是 dump 函数的快照:

在此输入图像描述

php var-dump laravel

4
推荐指数
1
解决办法
3677
查看次数

为什么var_dump(array)在Magento中导致500错误?

我正在尝试查看Magento系统的所有对象内部是什么,但是当我尝试从顶部链接模板内部var_dump $ _links变量(包含在每个页面的标题中呈现链接所需的所有信息)时,我的服务器响应500错误.谁知道为什么?

php var-dump magento

3
推荐指数
1
解决办法
5815
查看次数

为什么gettype()说它是double,但var_dump()表示float?

为什么gettype()说它是double,但var_dump()表示float?

$number = 1234567890123456789;
echo "Number: {$number} is a ". gettype($number) . "\n";
var_dump($number);
Run Code Online (Sandbox Code Playgroud)

响应:

编号:1.23456789012E + 18是双
浮球(1.23456789012E + 18)

php var-dump gettype

3
推荐指数
2
解决办法
1307
查看次数

为什么var_dump可以确定私有变量的值,但在尝试访问单个属性时却不能

我有一个对象被抛入会话数组,我想在items属性上运行foreach.

我似乎无法访问它.我看到它是私有的,但我不禁想知道为什么var_dump可以告诉我属性包含什么但我无法读取数据,因为它会抛出一个致命的错误?

我想我可以做一些输出缓冲并将var_dump评估为字符串,如果我真的不得不喜欢这个,但似乎应该有一个更好的方法.我有什么想法可以访问_items?

目标代码var_dumped来自var_dump($_SESSION['PHPurchaseCart']):

object(PHPurchaseCart)#191 (4) {
  ["_items:private"]=>
  array(2) {
    [0]=>
    object(PHPurchaseCartItem)#190 (6) {
      ["_productId:private"]=>
      string(2) "80"
      ["_quantity:private"]=>
      int(1)
      ["_optionInfo:private"]=>
      string(20) "Monthly Sponsorship "
      ["_priceDifference:private"]=>
      string(3) ".01"
      ["_customFieldInfo:private"]=>
      NULL
      ["_formEntryIds:private"]=>
      array(0) {
      }
    }
    [1]=>
    object(PHPurchaseCartItem)#189 (6) {
      ["_productId:private"]=>
      string(2) "75"
      ["_quantity:private"]=>
      int(1)
      ["_optionInfo:private"]=>
      string(20) "Monthly Sponsorship "
      ["_priceDifference:private"]=>
      string(3) ".02"
      ["_customFieldInfo:private"]=>
      NULL
      ["_formEntryIds:private"]=>
      array(0) {
      }
    }
  }
  ["_promotion:private"]=>
  NULL
  ["_promoStatus:private"]=>
  int(0)
  ["_shippingMethodId:private"]=>
  NULL
}
Run Code Online (Sandbox Code Playgroud)

我试图访问它的方式:

$fun = $_SESSION['PHPurchaseCart'];
var_dump($fun->_items);
exit;
Run Code Online (Sandbox Code Playgroud)

以上引发致命错误.

php object var-dump private-members

3
推荐指数
1
解决办法
2712
查看次数

PHP查看字符串中的特殊字符

试图弄清楚,PHP换行和特殊字符是做什么的.我有一个字符串,当我var_dump($string)输出时是:

string 'ls -al

    free -m' (length=16)
Run Code Online (Sandbox Code Playgroud)

如何查看埋在这里的特殊字符?例如,需要查看它们是否是\n或者&#10它们是什么.

谢谢.

php var-dump special-characters

3
推荐指数
1
解决办法
1187
查看次数

如何递归打印变量的内容,包括数据和对象属性?

str()并且repr()可以用来打印一个变量的内容在python.但变量的内容可能非常复杂.该pprint库,作为PHPvar_dump()等价物报告,非常适合以易于阅读的格式显示数据:什么是Python的var_dump()的Python等价物?,Python中是否有一个函数来打印对象的所有当前属性和值?

但是,如果有数据对象([编辑]尚未实施__str____repr__)str(),repr()pprint只是给了他们的名字.我想要一个可以递归遍历对象属性的方法,正确地给出变量的整个表示.

某些功能(例如内置版)不应打印,因为它没用.该方法还应该能够处理诸如getattr抛出异常之类的问题.也许自定义迭代也可以像列表一样处理.


我在下面给了它一个镜头.并不是说它不起作用,但我确信没有考虑边缘情况,可能还有一些输出缺失的信息(例如区分元组/列表).我的意思是说,请分享替代方案:)

python debugging recursion var-dump

3
推荐指数
2
解决办法
2213
查看次数

var_dump 结果中的数字是多少?

这个var_dump结果中的数字 #11 和 (0) 是什么意思:

对象(PDO)#11(0){}

我有一个类,我用它制作了一个对象并在多个地方使用它。

php var-dump

3
推荐指数
1
解决办法
54
查看次数

PHP的真实SESSION对象

编辑:(更新)

也许我的问题不够明确.好的,我们这样说吧:

$arr["a"] = 10; 
var_dump($arr);
$arr["b"] =& $arr["a"];
var_dump($arr);
Run Code Online (Sandbox Code Playgroud)

第一个var_dump返回:

array
  'a' => int 10
Run Code Online (Sandbox Code Playgroud)

而第二个回归:

array
  'a' => &int 10
  'b' => &int 10
Run Code Online (Sandbox Code Playgroud)

如果我取消设置($ arr ["a"]),它将返回:

array
  'b' => int 10
Run Code Online (Sandbox Code Playgroud)

规则是,当2个或更多变量"指向"相同内容时,var_dump将显示带有&符号(&)的引用.

在$ _SESSION的情况下,即使使用 register_long_arrays = Off $ _SESSION仍然显示引用.所以很明显,其他变量也指向相同的内容.

换句话说,如果我取消设置($ _ SESSION),仍然可以链接到某个地方的其他变量.在上面的例子中,当我取消设置($ ARR [ "一"]) :我仍然可以,如果我创建链接,像恢复内容$ ARR [ "z"的] =&$ ARR [ "b"的].

所以,我原来的问题是,有谁知道其他变量是什么?这个变量很可能不存在......但我想知道为什么PHP内部会显示这个变量.

谢谢


(原始问题:)

在PHP中创建会话时,例如:

session_start();
$_SESSION["name"] = "my name";
Run Code Online (Sandbox Code Playgroud)

并转储GLOBAL变量:

var_dump($GLOBALS);
Run Code Online (Sandbox Code Playgroud)

你会看到类似的东西:

  'HTTP_SESSION_VARS' => &
    array
      'name' => …
Run Code Online (Sandbox Code Playgroud)

php reference var-dump superglobals httpsession

2
推荐指数
1
解决办法
632
查看次数

PHP JSON 编码不起作用

这是我想要编码为 JSON 的数组的 var_dump:

array(3) { 
    [0]=> array(2) { 
        ["From"]=> string(14) "08 August 2013"
        ["To"]=> string(14) "21 August 2013"
    }
    [1]=> array(2) {
        ["From"]=> string(14) "11 August 2013"
        ["To"]=> string(14) "21 August 2013"
    }
    [2]=> array(2) { 
        ["From"]=> string(14) "12 August 2013" 
        ["To"]=> string(14) "01 August 2013" 
    } 
}
Run Code Online (Sandbox Code Playgroud)

当我对其进行编码时,输出如下所示:

[
 {"From":"08 August 2013","To":"21 August 2013"},
 {"From":"11 August 2013","To":"21 August 2013"},
 {"From":"12 August 2013","To":"01 August 2013"}
]
Run Code Online (Sandbox Code Playgroud)

但我希望它是这样的:

{
 0:{"From":"08 August 2013","To":"21 August 2013"}, 
 1:{"From":"11 August 2013","To":"21 August 2013"}, 
 2:{"From":"12 …
Run Code Online (Sandbox Code Playgroud)

php arrays json encode var-dump

2
推荐指数
1
解决办法
1万
查看次数