Supprimer élément tableau php

Résolu/Fermé
gismin Messages postés 22 Date d'inscription samedi 6 juillet 2013 Statut Membre Dernière intervention 10 août 2023 - 6 avril 2023 à 15:15
gismin Messages postés 22 Date d'inscription samedi 6 juillet 2013 Statut Membre Dernière intervention 10 août 2023 - 6 avril 2023 à 16:22

Bonjour,

J'ai essayé de plusieurs façon de supprimer un élément d'un tableau et ... j'y comprend rien.

<?php
echo 'ESSAIS <br><br>';

$pop2  = 'a2'; 

$tab[] = array('a1','a2','a3'); print_r($tab);


echo '<br><br> ----------1----------<br> ';
  unset($tab[array_search($pop2,$tab)]); print_r($tab); 
  
  
  echo '<br><br>-----------2---------<br> '; 
    $tab = array_diff( $tab, $pop2); print_r($tab); 
	
	
    echo '<br><br>---------3-----------<br> ';
       $pop2 = array_search('pop2', $tab);
       $tab = array_splice($tab, $pop2);
       print_r($tab); 

?>

Résultat:

ESSAIS

Array ( [0] => Array ( [0] => a1 [1] => a2 [2] => a3 ) )

----------1----------
Array ( )

-----------2---------

Fatal error: Uncaught TypeError: array_diff(): Argument #2 must be of type array, string given in C:\xampp\htdocs\Desortie-B1\pub\essaiTableau.php:14 Stack trace: #0 C:\xampp\htdocs\Desortie-B1\pub\essaiTableau.php(14): array_diff(Array, 'a2') #1 {main} thrown in C:\xampp\htdocs\Desortie-B1\pub\essaiTableau.php on line 14
Windows / Chrome 112.0.0.0

Rien ne marche correctement.

A voir également:

3 réponses

gismin Messages postés 22 Date d'inscription samedi 6 juillet 2013 Statut Membre Dernière intervention 10 août 2023 2
6 avril 2023 à 15:31

heu ... j'ai vu une erreur:  

$tab[] = array('a1','a2','a3'); // incorrect
$tab = array('a1','a2','a3'); // correct

J'ai une réponse correcte pour   ---1--- :

 unset($tab[array_search($pop2,$tab)]);

mais pas pour les 2 suivantes.

0
jordane45 Messages postés 38326 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 2 décembre 2024 4 712
6 avril 2023 à 16:15

Bonjour,

Pour le 2..   array_diff attend des array  $pop2 contient une string....

Et pour le 3 ... tu lui donne une string .. et non la valeur contenue dans ta variable....

 array_search('pop2', $tab);

// achanger par

 array_search($pop2, $tab);

0
gismin Messages postés 22 Date d'inscription samedi 6 juillet 2013 Statut Membre Dernière intervention 10 août 2023 2
6 avril 2023 à 16:22

Merci bien les 3 marchent maintenant.

Ceci étant la version simplifiée de mon problème je me permettrai de revenir si je n'arrive pas à le résoudre.

Merci.

0