using ' and " in php syntax
Possible Duplicate:
How to get useful error messages in PHP?
香港专业教育学院开始我的新年决议的一部分,并决定学习PHP,作为它的一部分,我试图解析一个xml提要,并回显包含在
我想我已经完成了所有这一切,但我似乎无法理解为什么这不起作用我只是得到一个空白页,如果有人可以指出我正确的方向,将非常感激,欢呼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <?php // F1 W/H xml feed $xml = simplexml_load_file('http://whdn.williamhill.com/pricefeed/openbet_cdn?action=template&template=getHierarchyByMarketType&classId=5&marketSort=HH&filterBIR=N'); foreach ($xml->response->williamhill->class->type as $type) { $type_attrib = $type->attributes(); echo"".$type_attrib['name'].""; //Title - in this case f1 championship } ?> <ul> <?php foreach($type->market as $event) { echo" <li> "; echo""; echo $event_attributes['name']; echo""; echo" </li> "; } ?> </ul> |
1 | echo""; |
尝试将该行更改为
1 | echo""; |
Php解析器对此非常有趣。通常你选择一个并坚持下去,或者根据需要使用单引号和双引号。请记住,使用双引号的字符串会针对变量进行解析。
1 2 | $hello ="Hello"; echo"$hello master"; |
是相同的
1 2 | $hello ="Hello"; echo $hello.' master'; |
如果你不想在使用
使用给定的代码看起来像
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <?php // F1 W/H xml feed $xml = simplexml_load_file('http://whdn.williamhill.com/pricefeed/openbet_cdn?action=template&template=getHierarchyByMarketType&classId=5&marketSort=HH&filterBIR=N'); foreach ($xml->response->williamhill->class->type as $type) { $type_attrib = $type->attributes(); echo"".$type_attrib['name'].""; //Title - in this case f1 championship } ?> <ul> <?php foreach($type->market as $event):?> <li> "> <?php echo $event_attributes['name']; ?> </li> <? endforeach;?> </ul> |
这将带来一个优势,它会产生更清晰的代码,因为你可以清楚地从你的
在你的无序列表中,你应该使用一个点来连接你的字符串,并转义你的双引号,如下所示:
1 | echo""; |
代替
1 | echo""; |
您的示例抛出并错误,因为您没有使用正确的字符串连接。但是,即使使用正确的concat,它也会呈现为
当您测试PHP脚本时,您会发现切换错误很有用 - 然后PHP会实际告诉您它为什么没有向您显示任何内容:
1 |
通常,您将错过
在你的情况下,错误在这里:
1 | echo""; |
你不小心用双引号结束了字符串,所以PHP认为字符串在这里结束:
1 | echo"<a href=" |
这是使用单引号可以非常方便的地方,因为你的双引号不会关闭字符串。
1 | echo ''; |
PHP中单引号和双引号之间的主要区别在于双引号具有特殊的巧妙解析规则而单引号则没有。例如:
1 2 3 | $myVar ="BLAH"; echo"Example $myVar"; // Example BLAH echo 'Example $myVar'; // Example $myVar |
您错过了第二个
1 2 3 4 5 6 7 8 9 10 11 12 | <?php foreach($type->market as $event) { echo" <li> "; echo""; echo $event_attributes['name']; echo""; echo" </li> "; } |
?>
我建议您启用错误日志,它可以让您知道任何脚本中存在问题的行。
更改
1 | echo""; |
对于
1 | echo""; |