我有一个名为paint()
的方法的类,所以我调用$object->paint();
并返回html代码,以我喜欢的方式显示对象。
在一个函数中,我有一个这些对象的数组,所以我做这样的事情:
$code = '<p class="wrapper">';
foreach( $object_arr as $object ){
$code .= $object->paint();
}
$code .='</p>';
echo $code;
但我得到的结果是:
<p class="wrapper"></p>
<figure id="f1">Figure 1</figure>
<figure id="f2">Figure 2</figure>
...
<figure id="fn">Figure n</figure>
函数paint()返回绘制对象的代码,我希望看到:
<p class="wrapper">
<figure id="f1">Figure 1</figure>
<figure id="f2">Figure 2</figure>
...
<figure id="fn">Figure n</figure>
</p>
我做错了什么?
答案 0 :(得分:1)
更多代码会有所帮助,但这可能会让您走上正确的轨道。
什么是$ object_arr数组。你能在对象数组中发布对象的例子吗?
使用我的示例,您还必须传入索引以获取id =“fnn”。
如果您发布更多代码,我可以澄清我的答案。
<?php
function paint($str){
return '<figure id="fn">'.$str.'</figure>';
}
$object_arr =Array('happy','beans');
$code = '<p class="wrapper">';
foreach( $object_arr as $object ){
$code .= paint($object);
}
$code .='</p>';
echo $code;
答案 1 :(得分:1)
您正在查看的结果可能会被浏览器更正。 p
小时候不接受figure
,因此浏览器可能会通过关闭您的第一个<p class="wrapper">
来解决此问题。
答案 2 :(得分:-2)
如果您使用单引号,则在方法调用之前添加一个选项卡:
$code .= ' ' . $object->paint();
但这会更容易:
$code .= "\t" . $object->paint();