2009-09-15 13 views
1

私はこのようになりますPHPの配列を持っている:場合、私は関数の入力に一致する配列から要素(開始、終了、コメント)を削除する関数を作成したいと思いますPHPで配列要素を検索して削除するにはどうしたらいいですか?

Array 
(
[0] => Array 
(
    [start] => DateTime Object 
    (
) 

    [end] => DateTime Object 
    (
) 

    [comment] => A comment. 
) 

[1] => Array 
(
    [start] => DateTime Object 
    (
) 

    [end] => DateTime Object 
    (
) 

    [comment] => Another comment. 
) 
) 

、およびfalseを返しますそれは存在しません。これを行うPHP関数は既にありますか?

答えて

6

あなたがarray_search()を意味推測:

正確
while (($pos = array_search($input, $multiArray)) !== false) { 
    unset($multiArray[$pos]); 
} 
2

ありません。あなたは何ができる:複数の一致するエントリがある場合

function array_remove(&$array, $search, $strict = false) { 
    $keys = array_keys($array, $search, $strict); 
    if(!$keys) 
     return false; 
    foreach($keys as $key) 
     unset($array[$key]); 
    return count($keys); 
} 

array_search()を使用する場合とは異なり、これは動作します。

関連する問題