所以我用foreach创建了一个处理数组的函数:
<?php
function listFeat($feature) {
echo '<ul class="highlight-ul">';
foreach ($feature as $key => $value){
echo '<li class="highlight-ul">';
echo $value['highlight'];
echo '</li>';
}
unset($value);
echo '</ul>';
}
?>
但是当我打电话两次时:
<h2>prod</h2>
<?php listFeat($p_feat); ?>
<h2>mom</h2>
<?php listFeat($m_feat); ?>
我得到了这个结果:
PROD
MOM
我无法找出原因?
答案 0 :(得分:0)
因为您在循环期间呼叫unset($value);
。它基本上清除了变量。移除unset()
电话,它应该按预期工作。
从您的示例来看,$p_feat
和$m_feat
似乎引用了相同的数组对象。这就是为什么第一个电话也会清除第二个电话。
答案 1 :(得分:0)
您在函数listFeat
中的代码是可以的。此外,您不需要unset($value);
,因为它是一个局部变量,它永远不会被进一步使用。
最有可能的是,m_feat
未正确初始化,或者如果您使用它们,则它的引用错误。