我正在寻找一种方法来获取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()的情况下获取实例计数?可能吗?
我正在使用dump($value)函数。我有一个关联数组,其中有很多条目。我需要立即查看这些值,而无需在转储时单击扩展按钮。我可以var_dump()立即看到它,但我更喜欢使用 dump,因为它是现代且交互式的。下面是 dump 函数的快照:
我正在尝试查看Magento系统的所有对象内部是什么,但是当我尝试从顶部链接模板内部var_dump $ _links变量(包含在每个页面的标题中呈现链接所需的所有信息)时,我的服务器响应500错误.谁知道为什么?
为什么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)
我有一个对象被抛入会话数组,我想在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换行和特殊字符是做什么的.我有一个字符串,当我var_dump($string)输出时是:
string 'ls -al
free -m' (length=16)
Run Code Online (Sandbox Code Playgroud)
如何查看埋在这里的特殊字符?例如,需要查看它们是否是\n或者
它们是什么.
谢谢.
str()并且repr()可以用来打印一个变量的内容在python.但变量的内容可能非常复杂.该pprint库,作为PHPvar_dump()等价物报告,非常适合以易于阅读的格式显示数据:什么是Python的var_dump()的Python等价物?,Python中是否有一个函数来打印对象的所有当前属性和值?
但是,如果有数据对象([编辑]尚未实施__str__或__repr__)str(),repr()而pprint只是给了他们的名字.我想要一个可以递归遍历对象属性的方法,正确地给出变量的整个表示.
某些功能(例如内置版)不应打印,因为它没用.该方法还应该能够处理诸如getattr抛出异常之类的问题.也许自定义迭代也可以像列表一样处理.
我在下面给了它一个镜头.并不是说它不起作用,但我确信没有考虑边缘情况,可能还有一些输出缺失的信息(例如区分元组/列表).我的意思是说,请分享替代方案:)
这个var_dump结果中的数字 #11 和 (0) 是什么意思:
对象(PDO)#11(0){}
我有一个类,我用它制作了一个对象并在多个地方使用它。
编辑:(更新)
也许我的问题不够明确.好的,我们这样说吧:
$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) 这是我想要编码为 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)