如何循环通过addAttribute来编写多个值。
到目前为止,看起来是这样的:
for($i = 0; $i < 10; $i++)
{
$this->title->addAttribute('names', "'".$this->Data[$i]->names.';');
}我知道这个错误:
SimpleXMLElement::addAttribute():属性已经存在
当前的xml如下所示(没有循环,具有静态值名称):
<button names=Tim;"/>但我希望它在循环之后看起来是这样的:
<button names=Tim;Tom;Ted"/>我怎样才能做到这一点?
发布于 2016-11-04 16:44:11
您可以通过首先使用您的所有名称创建一个数组,然后在属性中内爆您的数组来实现这一点。
$names = [];
foreach($this->Data as $key => $value) {
$names[] = $value->names;
}
$this->title->addAttribute('names', implode(';', $names));发布于 2016-11-04 16:42:57
在代码示例中,您正在尝试添加相同的属性。代替它,您可以创建一个具有名称的数组。然后,可以使用内爆的胶水字符串连接数组元素。
$names = [];
for($i = 0; $i < 10; $i++)
{
$names[] = $this->Data[$i]->names;
}
$this->title->addAttribute('names', implode(';',$names));发布于 2016-11-04 16:48:58
您不需要使用addAttribute()来添加值才能存在属性。只向属性添加新值,如底部代码
for($i = 0; $i < 10; $i++)
{
$this->title['names'] .= $this->Data[$i]->names.';'
}在演示中检查结果
https://stackoverflow.com/questions/40427608
复制相似问题