2009-09-15 3 views
1

J'ai un tableau PHP qui ressemble à ceci:Comment puis-je rechercher et supprimer un élément de tableau en PHP?

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

    [end] => DateTime Object 
    (
) 

    [comment] => A comment. 
) 

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

    [end] => DateTime Object 
    (
) 

    [comment] => Another comment. 
) 
) 

Je voudrais créer une fonction qui supprime un élément (début, fin, commentaire) du tableau qui correspond à l'entrée de fonctions, et retourne false si ça n'existe pas. Y at-il déjà une fonction PHP qui fait cela?

Répondre

6

Je suppose que tu veux dire array_search():

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

Pas exactement. Vous pourriez faire:

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

Contrairement à l'utilisation array_search(), cela fonctionnera s'il y a plusieurs entrées correspondantes.

Questions connexes