2009-09-15 61 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. 
) 
) 

我想創建一個將刪除該功能的輸入相匹配的數組中的元素(開始,結束,評論)的函數,返回如果假它不存在。是否已經有一個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()不同,如果存在多個匹配條目,這將起作用。