首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过addAttribute实现Php循环

通过addAttribute实现Php循环
EN

Stack Overflow用户
提问于 2016-11-04 16:32:25
回答 3查看 147关注 0票数 1

如何循环通过addAttribute来编写多个值。

到目前为止,看起来是这样的:

代码语言:javascript
复制
        for($i = 0; $i < 10; $i++)
        {
            $this->title->addAttribute('names', "'".$this->Data[$i]->names.';');
        }

我知道这个错误:

SimpleXMLElement::addAttribute():属性已经存在

当前的xml如下所示(没有循环,具有静态值名称):

代码语言:javascript
复制
<button names=Tim;"/>

但我希望它在循环之后看起来是这样的:

代码语言:javascript
复制
<button names=Tim;Tom;Ted"/>

我怎样才能做到这一点?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-11-04 16:44:11

您可以通过首先使用您的所有名称创建一个数组,然后在属性中内爆您的数组来实现这一点。

代码语言:javascript
复制
$names = [];
foreach($this->Data as $key => $value) {
    $names[] = $value->names;
}
$this->title->addAttribute('names', implode(';', $names));
票数 0
EN

Stack Overflow用户

发布于 2016-11-04 16:42:57

在代码示例中,您正在尝试添加相同的属性。代替它,您可以创建一个具有名称的数组。然后,可以使用内爆的胶水字符串连接数组元素。

代码语言:javascript
复制
$names = [];

for($i = 0; $i < 10; $i++)
{
  $names[] = $this->Data[$i]->names;
}

$this->title->addAttribute('names', implode(';',$names));
票数 0
EN

Stack Overflow用户

发布于 2016-11-04 16:48:58

您不需要使用addAttribute()来添加值才能存在属性。只向属性添加新值,如底部代码

代码语言:javascript
复制
for($i = 0; $i < 10; $i++)
{
    $this->title['names'] .= $this->Data[$i]->names.';'
}

演示中检查结果

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40427608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档