我不知道我遇到的这个问题的正确措词。
我有一个从数据库返回的对象,如下所示:
$pProvisioningFileData->m_fileContent = # Placeholders identified by '${}'
will be replaced during the provisioning
# process, only supported placeholders will be processed.
Dcm.SerialNumber = ${unit.serial_number}
Dcm.MacAddress = ${unit.mac_address}
Dcm.MinSeverity = "Warning"
Cert.TransferHttpsCipherSuite = "CS1"
Cert.TransferHttpsTlsVersion = "TLSv1"
Cert.MinSeverity = "Warning";
大括号是占位符,我面临的问题是,当我尝试使用echo
或print_r
输出所有内容时,所有内容都打印在一行中,但是我想显示内容与上述顺序相同。
我尝试使用var_dump
,但是它还提供了一些其他信息,例如长度和不需要的变量类型。
那么有一种不使用数组的简单方法吗?
答案 0 :(得分:2)
如果要输出到浏览器,则将var_dump包装在html <pre>
标签中是快速解决方案。如果输出到控制台,则建议您安装一些高级调试软件。 Xdebug浮现在脑海。
答案 1 :(得分:0)
从问题中很难准确地了解您要执行的操作,但是可以通过三种方式打印出对象的内容。这里的第三个成员是循环成员,它将为您提供更多控制权,并且您可以添加switch语句或其他格式以精确输出所需的内容:
class unit {
var $serial_number;
var $mac_address;
}
$test = new unit;
$test->serial_number = "999";
$test->mac_address = "999.999.999.999";
/* Method 1 - print_r */
print_r($test);
print "\n\n";
/* Method 1 - var_dump */
var_dump($test);
print "\n\n";
/* Method 3 - looping members */
foreach ($test as $memberName => $member)
{
print "{$memberName}: {$member}\n";
}