Bonsoir,

j'essaie depuis bien 1h de supprimer un element d'un array.

Voici mon array:

$temp = array(
        'buro => array('table', 'chaise', 'ordinateur'),
        'cuisine' => array('couteau', 'four')around         
        );

Comment je peut faire pour supprimer table ou bien chaise?

Merci d'avance :)

13 réponses


flo3376
Réponse acceptée

hum gros doute,
vue sur php.net http://php.net/manual/fr/language.types.array.php

<?php
$a = array(1 => 'one', 2 => 'two', 3 => 'three');
unset($a[2]);
/* produira un tableau comme ceci
   $a = array(1 => 'one', 3 => 'three');
   et NON un tableau comme ceci
   $a = array(1 => 'one', 2 =>'three');
*/

$b = array_values($a);
// Maintenant, $b vaut array(0 => 'one', 1 =>'three')
?>

dans ton cas

unset($temp["buro"][1]); //pour chaise
unset($temp["buro"][2]); //pour table
flo3376
Réponse acceptée

et si tu veux trouver la clé (chiffre correspondant)

vue sur php.net http://php.net/manual/fr/function.array-search.php

<?php
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');

$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array);   // $key = 1;
?>

ce qui donne dans ton cas

$key_chaise = array_search('chaise',$temp["buro"]); // $key_chaise =1;

Bonjour, comme ça il me semble

unset($temp["buro"]["table"]);
unset($temp["buro"]["chaise"]);
//ou
unset($temp["buro"]["table"], $temp["buro"]["chaise"]);
ctrick
Auteur
<?php 
$temp = array(
        'buro' => array('table', 'chaise', 'ordinateur'),
        'cuisine' => array('couteau', 'four')         
        );

print_r($temp);
unset($temp["buro"]["table"]);
print_r($temp);
?>

Cela ne fonction pas :(
Mais merci de la rapidité de ta réponse !

ctrick
Auteur

Dans mon cas il y a un array dans un array. C'est la ou je bloque....

j'ai modifié mon message entre temps

ctrick
Auteur

Je viens de voir ! Merci beaucoup déjà. Mais comment je peux faire supprimer pour supprimer explicitement un element si je connais juste son non et non sa position dans l'array?

La je dois savoir a quelle place l'élément chaise ce situe si je veux supprimer la chaise.

ctrick
Auteur

Mdr! Tu répond avant que je demande. À croire que tu lis dans mes pensées !!

il y a deux ans j'étais à ta place, donc je me doute des tes besoins

Je n'avais pas fait attention au indice numérique ^^

ctrick
Auteur

Ca fait vraiment plaisir d'obtenir de l'aide !
Par contre array_values($temp) ne fonction pas chez moi lorsque je supprime la chaise.

Voici ce que ca me donne lorsque je fais $temp = array_values($temp) ;

Array
(
    [0] => Array
        (
            [0] => table
            [2] => ordinateur
        )

    [1] => Array
        (
            [0] => couteau
            [1] => four
        )

)

tu peux lire n'importe quoi avec ce qui est en dessus

echo "<pre>";vardump($temp);echo "</pre>";

et sinon envoie ton bout de code que l'on regarde ce qui catouille

ctrick
Auteur

c'est bon j'ai reussi :))

<?php 

$temp = array(
        'buro' => array('table', 'chaise', 'ordinateur'),
        'cuisine' => array('couteau', 'four')         
        );

print_r($temp);

$key = array_search('chaise',$temp["buro"]);
unset($temp["buro"][$key]);

print_r($temp);

$temp['buro'] = array_keys($temp);

print_r($temp);

?>