から削除します。私は最後の$の価値を持っている場合は、私はオブジェクトの配列を持つ配列
$obj = array();
// add the new items
$row = new stdClass();
$row->first = $first;
$row->last = $last;
$row->phone = $phone;
$obj[] = $row;
さて、各キー/値を指定せずに全体の$行オブジェクトを削除する方法があります?
THX
から削除します。私は最後の$の価値を持っている場合は、私はオブジェクトの配列を持つ配列
$obj = array();
// add the new items
$row = new stdClass();
$row->first = $first;
$row->last = $last;
$row->phone = $phone;
$obj[] = $row;
さて、各キー/値を指定せずに全体の$行オブジェクトを削除する方法があります?
THX
キーを知る必要があります。しかし、配列を反復処理すれば見つけることができます。
はarray_*
機能の一部とterserアプローチがあるかもしれませんが、これはそれをレイアウト。
は何unset($row);
です(それが理解するのに役立ちます場合は、MySQLの声明だった場合、 "$ * FROM DELETE OBJ WHEREます$ row->最後= 'トーマス" のようなものになるだろう)欲しいです?しかし、メモリを節約するためにそれをやっているだけなら、それを行う必要はありません...
+1または単に '$行=ヌル; – Endophage
' unset() 'はすぐにメモリを解放しません。ガベージコレクタが適切であると判断した場合、メモリはPHPで解放されます。 –
私はこれが配列要素を元に戻すことはないと考えています。物理的には、しばらくの間、メモリ内の同じオブジェクト(コピーオンライト)が意味的に分離しているかもしれませんが。 –
foreach ($obj as $key => $value) {
if($obj[$key]->last == $last){
unset($obj[$key]);
}
}
私はコードとして自分の応答を書式設定するのを忘れていました。私はここに新しい! = P
$ objから$ rowを削除しますか? – Endophage
私はちょうどそれを投げました...それが明らかにならないなら、それを無視してください。 –