begin process at 2012 02 15 14:00:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Retirer un element d'un array


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Retirer un element d'un array

jeudi 15 janvier 2009 à 21:35:50 | Retirer un element d'un array

zen69

Bonjour à tous et à toutes.

J'ai une petite question que voici.

Je cherche à retirer un élément d'un array  mais sans passer mon array dans une boucle, question d'avoir quelque choses de relativement performant.

Prenons par exemple le array suivant.

$a = array('VAL1', 'VAL2', 'VAL3', VAL700', 'VALXX');

je cherche a obtenir ceci : array('VAL1', 'VAL2', VAL700', 'VALXX');

Je ne trouve pas de fonction qui me permettre d'obtenir le resultat voulu...

J'ai essayer ceci mais ca me donne des résultat asser aléatoire.

$y = array_search('VAL3', $a);
$a = array_splice($a, $y, 1);

Quelqu'un peut m'indiquer la marche à suivre ?

  Google est ton ami, fait lui savoir!
  zen69 aka Ortho Le Profett

 
jeudi 15 janvier 2009 à 21:40:29 | Re : Retirer un element d'un array

Teclis01

tu devrais utiliser la doc en plus de google :p
http://fr.php.net/manual/fr/function.array-splice.php

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro

jeudi 15 janvier 2009 à 21:50:02 | Re : Retirer un element d'un array

zen69

Qu'est-ce que tu crois que j'ai fait poto?

Mon probleme est le suivant:

Valeurs de retour

Retourne le tableau contenant les éléments supprimés.


Moi j'ai besoin comme valeur de retour les éléments non supprimés.

Est-ce que tu connais une fonction qui aurait cette valeur de retour.




  Google est ton ami, fait lui savoir!
  zen69 aka Ortho Le Profett

 
vendredi 16 janvier 2009 à 09:39:59 | Re : Retirer un element d'un array

Teclis01

bin c'est surement ce que tu as en entrée...
tu entre un tableau avec n éléments, la fonction te retourne l'élément supprimé et ton tableau en entrée fait n-1

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro

vendredi 16 janvier 2009 à 09:40:40 | Re : Retirer un element d'un array

Teclis01

$y = array_search('VAL3', $a);
$a = array_splice($a, $y, 1);
print_r($a);

Hum?

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro

vendredi 16 janvier 2009 à 15:42:38 | Re : Retirer un element d'un array

zen69

Quote
bin c'est surement ce que tu as en entrée...
tu entre un tableau avec n éléments, la fonction te retourne l'élément supprimé et ton tableau en entrée fait n-1


je catch pas ton truc... mais quand je fait print_r($a) comme tu le dis... j'obtiens l'élément supprimer... moi je veux le contraire... je veux tout les elements restant.


  Google est ton ami, fait lui savoir!
  zen69 aka Ortho Le Profett

 
vendredi 16 janvier 2009 à 17:33:23 | Re : Retirer un element d'un array

zen69

Bon finalement comme je ne trouvais pas de fonction qui me permettait faire ce que je voulais voici ce que j'utilise...

$y = array_search('VAL3', $a);
if ($y==0) {
    $a = array_splice($a, 1);
} elseif ($y==count($a)-1) {
    $y = array_pop($a);
} else {
    $y = array_push(array_splice($a, 0, $y-1), array_splice($a, $y+1));
 }

Pas fini de la tester mais jusqu'à maintenant tout va nickel!

  Google est ton ami, fait lui savoir!
  zen69 aka Ortho Le Profett

 
vendredi 16 janvier 2009 à 21:06:56 | Re : Retirer un element d'un array

zen69

finalement c'est portion du code me donne des resultats non desirer :
$y = array_push(array_splice($a, 0, $y-1), array_splice($a, $y+1));
je dois donc continuer de chercher...

  Google est ton ami, fait lui savoir!
  zen69 aka Ortho Le Profett

 
vendredi 16 janvier 2009 à 21:21:16 | Re : Retirer un element d'un array

zen69

Bon je sais que ce n'est pas très propre... mais bon voici mon work arround.

$y = array_search('VAL3', $a);
if ($y==0) {
    $y = array_shift($a);
} elseif ($y==count($a)-1) {
    $y = array_pop($a);
} else {
    $a[$y] = false;
    $a = array_filter($a);

}

donc voici une fonction qui permet d'enlever une valeur d'un array.

function array_delete($a, $v) {
    do while (in_array($a, $v)) {
        $y = array_search($v, $a);
        if ($y==0) {
            $y = array_shift($a);
        } elseif ($y==count($a)-1) {
            $y = array_pop($a);
        } else {
            $a[$y] = false;
            $a = array_filter($a);
        }
    }
    return $a;
}

NB: cette fonction n'a été testé que sur un array à une dimession, ce code n'est pas optimiser, aucun traitement de valeur éronné.

So... completer la fonction pour quelle répondre à vos besoins.


  Google est ton ami, fait lui savoir!
  zen69 aka Ortho Le Profett

 
vendredi 16 janvier 2009 à 21:22:35 | Re : Retirer un element d'un array

zen69

remplacer :
    do while (in_array($a, $v)) {
par :
    do while (in_array($v, $a)) {

  Google est ton ami, fait lui savoir!
  zen69 aka Ortho Le Profett

 

1 2

Cette discussion est classée dans : cherche, question, element, array, retirer


Répondre à ce message

Sujets en rapport avec ce message

enlever un element d'un array [ par shadow1779 ] Bonjour a tous,Je suis actuellement en train de développer un petit module générant des factures (avec la class FPDF) prenant en compte le stock de ma Question sur les array [ par chatis ] Bonjour, J'ai un script qui possède 2 tableaux qui n'ont pas le même nombre d'enregistrements et qui sont créé par 2 tables différentes et qui ont le recursive [ par mariobotta ] bonjour,j'ai un petit soucie au niveau d'une boucle récursive.j'essaye de récupérer une numérotation (pour ma sitemap)quelqu'un aurait-il une idée où Charger un array depuis mysql [ par mdog ] bonjour, je cherche a charger depuis mysql un tableau array pour pouvoir l'integrer dans une page, seulement je ne sais pas coment faire, avec ma syta MYSQL et ARRAY [ par mdog ] je repose ma question différement cela vient peut-etre de la façon de poser la question, ou bien c'est simplement que le post est trop bas maintenant Question sur les Array ! [ par joduak ] Voilà j'essaie d'extract les infos de mon tableau qui me sort des infos du style : Array ( [0] => 09:00:00 [1] => 11:00:00 [2] => 20:00:00 plusieurs question count(*), select [ par twixster ] bonjour plusieur questions pour vous :D1)     $req= "SELECT count(*) from magasin";     $sql= mysql_query($req);  comment savoir combien y a d'element Chaine de caractere, petite question [ par zeguizmo ] Salut, Je bosse un petit peu sur des chaines de caractères la et j'aurais une petite question.Ou pourrais-je trouver des infos sur tous les machins st probleme avec un tableau [ par cobra176 ] bonjour a tous.j'ai un souci , j'ai réalisé un programme de vente par internet avec des sessions pour le panierl'ajout marche mais pas la fonction ret Ptite question sur un array ! [ par destiny ] Hello all enfin du moins RE :pbon juste une ptite info sur les array's !Voila j'ai une question sur un questionnaire assez long (4 pages et environ 25


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,477 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales