0

我正在尝试在foreach()语句中设置变量,但它一直在消亡。

如果我这样做,一切都很好。

foreach($array as $key => $value)
    {
         echo '<tr>';
            echo '<td><a href="http://mgoode.com/index.php?option=com_mls&view=mls&mlsnum=' . $value['1'] . '">' . $value['1'] . '</a></td>';
         echo '</tr>';
    }

但是当我这样做时,它不想工作。

foreach($array as $key => $value)
    {
        $mls = echo '' . $value['1'] . '';
         echo '<tr>';
            echo '<td><a href="http://mgoode.com/index.php?option=com_mls&view=mls&mlsnum=' $mls '">' $mls '</a></td>';
         echo '</tr>';
    }

语法方面,我看不出这些语句有什么不同。我也试过$mls = $value['1'];了,也不想工作。

4

3 回答 3

2

当然,您在抱怨第二种情况时遇到了语法错误,对吗?如果你说“它一直在死去”,你应该准确地告诉我们当某物死去时会发生什么。更重要的是,应该阅读语法错误并考虑它所说的内容。这些错误是描述性的,因此您可以找出问题所在。

在第二种情况下,您没有将字符串与.运算符连接起来。

echo '<td><a href="http://mgoode.com/index.php?option=com_mls&view=mls&mlsnum=' $mls '">' $mls '</a></td>';

应该

echo '<td><a href="http://mgoode.com/index.php?option=com_mls&view=mls&mlsnum=' . $mls . '">' . $mls . '</a></td>';
于 2012-11-30T15:35:12.000 回答
2
 $mls = echo '' . $value['1'] . '';

应该

$mls =   $value['1'] ;
echo $mls;

  echo '<td><a href="http://mgoode.com/index.php?option=com_mls&view=mls&mlsnum=' $mls '">' $mls '</a></td>'

应该

echo '<td><a href="http://mgoode.com/index.php?option=com_mls&view=mls&mlsnum=' . $mls . '">' . $mls . '</a></td>';
于 2012-11-30T15:35:31.673 回答
0

您的第二个代码块应该看起来更像这样:

foreach($array as $key => $value)
{
    $mls = (string) $value['1'];
    echo '<tr>';
    echo '<td><a href="http://mgoode.com/index.php?option=com_mls&amp;view=mls&mlsnumamp;=' , $mls , '">'  , $mls , '</a></td>';
    echo '</tr>';
}
  • 当您键入时,$var = echo "something"您没有为该变量分配任何值。相反,您正在输出该字符串 -echo没有返回值
  • 您可以将变量类型转换为字符串,而无需附加和前置空字符串。
  • 您可以使用更少的开销,一个接一个地回显多个字符串。
  • 您应该使用 HTML 实体作为 & 符号,即使它们在属性值中
  • (最后)您实际上并没有将变量连接到第三个echo.
于 2012-11-30T15:43:40.343 回答