我需要将我的数组包装在foreach循环之外的自己的包装div中。
function foo() {
//my foreach loops
$top_content[] = $top;
$bottom_content[] = $bottom;
return array($top_content, $bottom_content);
}
理想情况下,我可以:
function foo() {
//my foreach loops
$top_content[] = '<div class="wrapper-one">' . $top . '</div>';
$bottom_content[] = '<div class="wrapper-two">' . $bottom . '</div>';
return array($top_content, $bottom_content);
}
但后来我得到一个错误:注意:数组到字符串转换
任何帮助表示感谢。
答案 0 :(得分:1)
function foo() {
//my foreach loops
$top_content[0] = '<div class="wrapper-one">' . $top . '</div>';
$bottom_content[0] = '<div class="wrapper-two">' . $bottom . '</div>';
return array($top_content, $bottom_content);
}
答案 1 :(得分:0)
这是因为您尝试使用字符串连接数组。由于$top
和$bottom
之前可能已初始化为数组。
$top_content[0] = '<div class="wrapper-one">' . $top . '</div>';
$bottom_content[] = '<div class="wrapper-two">' . $bottom . '</div>';
所以我的猜测是你必须创建$top
和$bottom
作为数组并尝试在for-each循环结束时连接。
你仍然可以这样做。
$topContents = implode('', $top);
$bottomContents = implode('', $bottom);
$top_content[0] = '<div class="wrapper-one">' . $topContents . '</div>';
$bottom_content[] = '<div class="wrapper-two">' . $bottom . '</div>';
诀窍是使用php的implode函数首先连接数组。连接后它返回字符串。然后,该字符串可以进一步与其他字符串连接。
尝试一下,让我们知道。