我與總部設在柯比CMS PHP項目的網絡程序員合作,並且他想要打開和關閉每行這樣:啓閉PHP變量,函數
<main>
<?php /*php code here/* ?>
<?php /*more php here*/ ?>
...
嘗試遵循這種風格,我在代碼中發現了一些錯誤。第一個是,它似乎我不能在一個陣列作爲這樣的中間這樣做:
BAD CODE
<?php $oo = array(?>
<?php 'h' => 100, ?>
<?php 'v' => 100, ?>
<?php); ?>
,但我可以做一個foreach循環的中間這樣:
<?php foreach ($p as $subp): ?>
<div id='<?= $subp->title() ?>'>
<?php endforeach; ?>
是否有任何其他情況下,如我不能做到這一點的數組?
/編輯
根據答案,也只能是「的foreach」,「而」內標籤斷裂,或「如果」塊。
函數中的'foreach','while'或'if'如何?是 '合法'?:
<?php
function myFunction($arg){
if($arg === 'this'): ?>
<?= '<p>yep</p>' ?>
<?php else: ?>
<?= '<p>nop</p>' ?>
<?php endif;
};
?>
以及如何對嵌套IF函數?:內的foreach內
<?php
function myFunction($arr){
foreach($arr as $val): ?>
<p><?= $val ?> <p>
<?php if($val === 'this'): ?>
<?= '<p>yep</p>' ?>
<?php else: ?>
<?= '<p>nop</p>' ?>
<?php endif;
endforeach;
};
?>
編輯/
謝謝
看起來很奇怪,每一行都是打開和關閉的,但這是一個非常有趣的問題。 +1並遵循。 –
它會影響輸出,因爲在結果html中會有** LOT **換行符,而像'header'這樣的函數將不起作用。 –
基本上,如果你正處於一個陳述的中間,你不能擺脫它。如果你處於一個控制結構的中間,你很可能會。但是,這並不意味着你*應該*。 – aynber