首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在php语法中使用‘和“

在php语法中使用‘和“
EN

Stack Overflow用户
提问于 2013-01-22 22:07:09
回答 6查看 730关注 0票数 0

可能重复: 如何在PHP中获取有用的错误消息?

我从新年决议的一部分开始,并决定学习php,作为其中的一部分,我尝试在xml中解析事件,并回显封装在<a>标记中的事件名称,将它们链接回xml站点上的events页面。

我想我已经把一切都写好了,但我似乎不明白为什么这不管用,我只是得到了一页空白,如果有人能指出正确的方向,我会非常感激的,干杯

代码语言:javascript
复制
<?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 "<h2>".$type_attrib['name']."</h2>"; //Title - in this case f1 championship
} ?>


<ul>
  <?php 
      foreach($type->market as $event) {
          echo "<li>";
          echo "<a href="$event_attributes['url']">";
          echo $event_attributes['name'];
          echo "</a>";
          echo "</li>";
      }
  ?>
</ul>
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-01-22 22:11:28

代码语言:javascript
复制
echo "<a href="$event_attributes['url']">";

试着把那一行改为

代码语言:javascript
复制
echo "<a href=\"".$event_attributes['url']."\">";

Php解析器在这方面非常有趣。通常你选择一个,坚持它,或同时使用单引号和双引号,你喜欢。请记住,带有双引号的字符串被解析为变量。

代码语言:javascript
复制
$hello = "Hello";
echo "$hello master";

是相同的

代码语言:javascript
复制
$hello ="Hello";
echo $hello.' master';
票数 4
EN

Stack Overflow用户

发布于 2013-01-22 22:14:21

在测试PHP脚本时,您会发现打开错误是很有用的--然后PHP实际上会告诉您为什么它没有显示任何内容:

代码语言:javascript
复制
error_reporting(E_ALL);

通常,您会错过一个;或错误输入一个变量名。

在您的例子中,错误出现在这里:

代码语言:javascript
复制
echo "<a href="$event_attributes['url']">";

您不小心用双引号结束了字符串,因此PHP认为字符串在这里结束:

代码语言:javascript
复制
echo "<a href="

这是使用单引号非常方便的地方,因为双引号之后不会关闭字符串。

代码语言:javascript
复制
echo '<a href="' . $event_attributes['url'] . '">';

PHP中单引号和双引号的主要区别在于双引号有特殊的聪明的解析规则,而单引号没有。

代码语言:javascript
复制
$myVar = "BLAH";
echo "Example $myVar"; // Example BLAH
echo 'Example $myVar'; // Example $myVar
票数 1
EN

Stack Overflow用户

发布于 2013-01-22 22:14:28

在无序列表中,应该使用点连接字符串,并转义双引号,如下所示:

代码语言:javascript
复制
echo "<a href=\"".$event_attributes['url']."\">";

而不是

代码语言:javascript
复制
echo "<a href="$event_attributes['url']">";

您的示例抛出并出错,因为您没有使用正确的字符串连接。但是,即使有正确的连接,它也将呈现为<a href=http://someurl>,并且您需要按照html标准添加双引号。因此,你必须双引号。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14468944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档