我正在创建一个非常大的页面,在各个部分需要循环遍历这样的数据数组:
$processed = array();
foreach( $data as $program )
{
if( $program['f_enabled'] == 'N' ) continue;
$pid = $program['f_programId'];
if( !array_key_exists($pid, $processed) )
{
/**
* Do things with $pid and $program['f_foobar'], including
* ?>
* <span>HTML with <?=$inlined_vars?></span>
* <?php
*/
$processed[] = $pid;
}
}
这让我想起了 WordPress Loop。我知道我可以将所有循环压缩为一个,将 HTML 输出存储在变量中并在最后将它们拼凑在一起,但我强烈希望代码与围绕它的 HTML 保持一致。
我怎样才能排除外面的一切?即使它像 hacky 一样:
MY_HORRIFYING_MACRO
{
/**
* Do things with $pid and $program['f_foobar'], including
* ?>
* <span>HTML with <?=$inlined_vars?></span>
* <?php
*/
}
我不关心这里的正确性——我只需要这个演示工作,并且让代码在演示文稿中从上到下可读,并同步了解页面上的其他内容。最好与 PHP 5.3 兼容——不肯定演示服务器将运行 PHP 5.4+——但如果存在使用 PHP 5.4+ 结构的解决方案,请无论如何分享。谢谢你。