php - 访问对象中的数组

标签 php arrays object

如果我知道搜索这些内容的正确术语,那么很容易通过谷歌搜索,但我不确定术语。

我有一个返回大对象的 API。我通过以下方式访问一个特定的:

$bug->fields->customfield_10205[0]->name;
//result is <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="4d272225232922280d2a202c2421632e2220" rel="noreferrer noopener nofollow">[email protected]</a>

有很多值,我可以通过将其从 0 更改为 1 等来访问它们

但我想循环遍历数组(也许这不是正确的术语)并获取其中的所有电子邮件并将其添加到如下字符串中:

implode(',', $array);
//This is private code so not worried too much about escaping

本以为我只是做类似的事情: echo implode(',', $bug->fields->customfield_10205->name);

也尝试过 echo implode(',', $bug->fields->customfield_10205);

还有 echo implode(',', $bug->fields->customfield_10205[]->name);

我正在寻找的输出是: '[email protected] , [email protected] , [email protected] '

我哪里错了,我提前为这个愚蠢的问题道歉,这可能是新手

最佳答案

您需要迭代,例如

# an array to store all the name attribute
$names = array();

foreach ($bug->fields->customfield_10205 as $idx=>$obj)
{
  $names[] = $obj->name;
}

# then format it to whatever format your like
$str_names = implode(',', $names);

PS:您应该查找属性电子邮件而不是姓名,但是,我只是按照您的代码进行操作

关于php - 访问对象中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14479923/

相关文章:

java - 从迭代 ArrayList 内部删除对象的最有效方法

php - 使用 PHP 进行时间或时间间隔转换

php - 获取表中的行数时出现问题,其中日期大于值

arrays - 在 O(n) 时间内检查两个子串是否重叠

c#-4.0 - 如何在 C# 中创建对象的多维数组

java - subClass sc = new subClass() 和 superClass sc = new subClass 有什么区别?

php - 在 PHP 中,如何将对象元素添加到数组中?

PHP OOP : Handling multiple row outputs from a database, 最好的方法是什么?

php - 在 symfony 的帮助下从 Excel 表输入数据库

javascript - 无法连接两个变量