Symfony 3 ArrayCollection键搜索

时间:2016-12-22 09:03:31

标签: symfony

如果我有一个ArrayCollection类型的变量,我该如何检查集合中是否存在特定名称的密钥,包括嵌套。如果它确实如何获得并改变该值?

1 个答案:

答案 0 :(得分:3)

我猜你在谈论Doctrines ArrayCollection \Doctrine\Common\Collections\ArrayCollection

它确实实现了phps native ArrayAccess接口,因此请查看the docs。请检查:

use Doctrine\Common\Collections\ArrayCollection;
$myCollection = new ArrayCollection(array('testKey' => 'testVal'));
var_dump(isset($myCollection['testKey']));

它还从Collection接口实现了自己的方法。

/**
 * Checks whether the collection contains an element with the specified key/index.
 *
 * @param string|integer $key The key/index to check for.
 *
 * @return boolean TRUE if the collection contains an element with the specified key/index,
 *                 FALSE otherwise.
 */
public function containsKey($key);

对于嵌套对象,没有构建方法,你必须自己遍历集合,就像使用普通数组一样。