加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – echo语句中的逗号表示什么?

发布时间:2020-12-13 21:39:28 所属栏目:PHP教程 来源:网络整理
导读:我试图从递归函数回显一个字符串: echo“ li”,$node,recurse($arr),“ / li”; 和 echo“ li” . $node.递归($arr). “ /锂” 中; function writeList($tree){ if($tree == null) return; echo "ul"; foreach($tree as $node=$children) { echo "li",write
我试图从递归函数回显一个字符串:
echo“< li>”,$node,recurse($arr),“< / li>”;

echo“< li>” . $node.递归($arr). “< /锂>” 中;

function writeList($tree)
{
    if($tree == null) return;
    echo "<ul>";
    foreach($tree as $node=>$children) {
        echo "<li>",writeList($children),"</li>";
    }
    echo "</ul>";
}

$tree是一个树状结构,可以在this question(form2)中找到

而且,我可以注意到两者的输出是不同的.
有人可以告诉我使用的区别,和.一般而言,特别是在这个例子中?

编辑:如果不是回显字符串,我想将此函数生成的字符串存储在变量中.我特别感兴趣的是从第一个echo语句收到的输出.

编辑:
我正在喂这个数组:

array
  3 => 
    array
      4 => 
        array
          7 => null
          8 => 
            array
              9 => null
      5 => null
  6 => null

我得到的输出是:
(来自第一个回声声明)

<ul><li>3<ul><li>4<ul><li>7</li><li>8<ul><li>9</li></ul></li></ul></li><li>5</li></ul></li><li>6</li></ul>

(来自第二个回声声明)

<ul><ul><ul><li>7</li><ul><li>9</li></ul><li>8</li></ul><li>4</li><li>5</li></ul><li>3</li><li>6</li></ul>

解决方法

编辑:好的,我明白了.罪魁祸首是你的writeList()函数.该函数内部存在二次回声.

当你这样做:

echo "<li>",writeList($arr),"</li>";

首先评估每个部件然后打印出来.它相当于:

echo "<li>";
echo $node;
echo writeList($arr);
echo "</li>";

但是当你这样做时:

echo "<li>" . $node . writeList($arr) . "</li>";

整个字符串使用连接运算符构造.首先,然后打印出来.这意味着在构造字符串期间首先调用writeList($arr),然后调用外部echo.

要避免此问题,请不要在函数调用中回显任何内容.使用连接运算符构建字符串,然后返回它们,以便外部回显可以打印它们.

what if rather than echoing the strings,I want to store the string generated from this function in a variable. I am,particularly,interested in the output received from the first echo statement.

使用输出缓冲.

ob_start();
echo "<li>","</li>";
$out = ob_get_clean();

但对于那个特定的陈述,为什么不直接连接呢?

$out = "<li>" . $node . writeList($arr) . "</li>";

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读