0

我得到了一个多维数组,在某些情况下需要“过滤”。这是我写的函数:

foreach($data["index"] as $key => $value){
    if(preg_match("/EXPRESSION/",$value->property)){
        unset($data["index"][$key]);
    }
}

它不会返回任何错误,但是当数组被 var_dumped 时,我认为我未设置的值仍然存在。

我在另一个主题上发现了这个:

foreach ($this->result['list'] as $key => &$row) {
    if ($this_row_is_boring) {
        unset($this->result['list'][$key]);
    }
}

我认为与我写的唯一不同的是,当我调用 $data 时,他调用了 $this->result。

有任何想法吗?谢谢

4

1 回答 1

0

如果正则表达式不匹配,unset()则永远不会被调用。

您可以插入一条语句来确定是否preg_match()返回 true 吗?

if(preg_match("/EXPRESSION/",$value->property)){
    unset($data["index"][$key]);
    echo "Match found with \$key: $key\n";
}
于 2011-07-01T20:32:17.363 回答