2011-07-01 11 views
0

場合によってはフィルタリングする必要があるオブジェクトの多次元配列があります。foreachループで多次元配列の値を設定解除する

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]); 
    } 
} 

私は私が書いたものから唯一の違いを考えて、彼は私が$データを呼び出すときの$ this - >結果呼び出すことです。

アイデア?ありがとう

答えて

0

正規表現が一致しない場合、unset()は決して呼び出されません。

preg_match()がtrueを返すかどうかを判断するステートメントを挿入できますか?

if(preg_match("/EXPRESSION/",$value->property)){ 
    unset($data["index"][$key]); 
    echo "Match found with \$key: $key\n"; 
}