Unset variable tableau

Résolu

Bonjour,

Je n'arrive pas à supprimer une donnée d'un tableau. Mon code:

...

$repons = $bdd->query("SELECT ville_nom  
								FROM villes_france_free  
								WHERE   longit BETWEEN $longMoins AND  $longPlus
								AND lat BETWEEN $latMoins  AND  $latPlus
								 
                             ");
	  
	   
			 	$x= 0;	$ListeVilles = array();  
				
				    while($rep = $repons->fetch()){
					
					     $villeX[$x]= $rep['ville_nom'];
						 $villeX[$x]= addslashes($villeX[$x]);  // ajoute des '\' aux villes avec apostrophe 
						 array_push($ListeVilles,$villeX[$x]  );
						      $x=$x+1;  
							  }
					 
				  
			 	$ListeVilles="'".implode("','",$ListeVilles)."'";

 unset($ListeVilles[$villeDepart]);

return $ListeVilles;     ...

j'ai ce message d'erreur:

Uncaught Error: Cannot unset string offsets in ... 75 Stack trace: #0


Windows / Chrome 115.0.0.0

3 réponses

  1. Modérateur

    Bonjour Il faut faire ton unset avant le join.(implode)


    1. Merci Jordane je n'ai plus de message d'erreur mais par contre le unset ne marche pas il n'enlève pas "$villeDepart" à mon tableau. Dans ma demande : $repons = $bdd->query("SELECT ville_nom FROM villes_france_free WHERE longit BETWEEN $longMoins AND $longPlus AND lat BETWEEN $latMoins AND $latPlus "); est il possible de modifier du genre " SELECT ville_nom EXCEPT $villeDepart " ?

    2. Modérateur
      @gismin

      EXCEPT ça se traduit par <> En sql

  2. Modérateur

    Bonjour, Sur quelle ligne apparaît l'erreur (comme il manque la numérotation des lignes) ?

    1. J'ai résolu mon problème avec l'aide de ChatGPT en utilisant: "array_diff", par ex,:
      <?php
      // Tableau d'origine
      $tab1 = array(1, 2, 3, 4, 5);

      // Tableau avec les éléments à supprimer
      $tab2 = array(3, 4, 5, 6, 7);

      // Supprimer les éléments communs
      $resultat = array_diff($tab1, $tab2);

      // Afficher le résultat
      print_r($resultat);
      ?>
       

      Merci de vos réponses.