【发布时间】:2012-12-08 07:10:37
【问题描述】:
我正在编写一个脚本,它可以卷曲另一个站点,然后解析结果。我似乎遇到了一些奇怪的问题,我不明白它们是从哪里来的;我在下面包含了我的代码有问题的部分以及从它返回的输出:
<?php
//my code to do some logic and build the curl
$BookingConfirmation = curl_exec($ch);
$testString = 'a test';
var_dump($testString);
echo '<br />';
echo $BookingConfirmation;
echo '<br />';
var_dump($BookingConfirmation);
echo '<br />';
$bookingResults = explode('|', $BookingConfirmation);
var_dump($bookingResults);
die();
?>
当我加载页面时,我得到了这个输出:
string(6) "a test"
booking|1||4000015|23628
string(2386) " booking|1||4000015|23628 "
array(6) {
[0]=> string(766) " string(1526) "108^1"> booking"
[2]=> string(1) "1"
[3]=> string(0) ""
[4]=> string(7) "4000015"
[5]=> string(81) "23628 "
}
因此,根据 $BookingConfirmation 向我展示的内容,我不希望该数组在其中的任何位置包含“108^1”。另外,为什么 $BookingConfirmation 的 var_dump 会显示它是 2386 个字符串?它远没有那么长。另一个问题是,应该在数组中的第二个元素发生了什么? ($bookingResults[1]) 该数组的最终转储显示有 6 个元素,但跳过 #1 后仅显示 5 个。
注意这些变量名在代码中的其他任何地方都没有使用,这也很有用。
任何想法将不胜感激。
【问题讨论】:
-
好吧,
string(2386) " booking|1||4000015|23628 ",这意味着字符串有2386字节。您应该查看测试页面的view-source,而不是呈现的 html,后者显然隐藏了大部分字符串。 -
@Esailija 也许是 xdebug 设置?标准 php.ini 是否让您完全控制 var_dump 的行为?
标签: php arrays string var-dump