PHP 函数和逻辑文件中的 PHP 结束标记


PHP end tag in php functions and logic file

有问题的示例代码:

<?php 
function foo($x) {
  ?> // <-- PHP end tag in question
  <ul>
     <li>Coffee</li>
     <li>Tea</li>
     <li>Milk</li>
  </ul>
  <?php
  return ;
}
?>

我正在尝试确定这是否是PHP逻辑文件中可接受的编码标准/编码实践,以及与其他html打印/连接方案相比,此方法的缺点是什么。

有关于PHP字符串的文档,你会发现非常有用。它解释了单引号、双引号、heredoc 和 nowdoc 语法之间的区别。我不想就这个问题征求意见,但我认为你展示的方法不是很常用的。

您提供的逻辑是不可接受的。

您可以这样做:

<? 
function foo($x) {
$var = <<<END
  <ul>
     <li>Coffee</li>
     <li>Tea</li>
     <li>Milk</li>
  </ul>
END;
  echo $var;
}
foo();
// OR You Can do this:
function foo2($x){
$var = <<<END
  <ul>
     <li>Coffee</li>
     <li>Tea</li>
     <li>Milk</li>
  </ul>
END;
return $var;
}
echo foo2();
//If the function is only intended for printing just use global variables as you haven't used the $x argument..
?>

*另请注意,在

<<<END

和之前

END;

因此,我没有在函数内部将它们缩进到右侧。

该函数不返回值,因此无法尝试将其与字符串连接技术结合使用。

例如:

function bar() {
   $concat = "Give me " . foo(null) . " please" ;
}

将输出

  • 咖啡
  • 牛奶