我正在这样做:
$attributes = array("a", "b", "c", "d","e","f", "g","h" ,"i","j","k","l");
foreach($all as $p) {
foreach($attributes as $key => $a) {
if (!$p->getAttribute($a)) {
unset($attributes[$key]);
}
}
}
但是未设置似乎会缩小$attributes
循环中的数组,然后取消设置想要的值。
编辑:这不是发生的事情。真正的问题是,由于这些是嵌套循环,如果!$p->getAttribute($a)
返回 false,我不应该已经在数组中取消设置它,因为第一个循环foreach($all as $p)
可能会为 $p 提供一个返回 true 的属性,因此需要保留。
我需要它,这样如果!$p->getAttribute($a)
我想从 $attributes 中删除相应的 $a。最有效的方法是什么?