|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 21 ![]() |
Bonjour à tous,
J'ai un tableau $tab composé de phrases diverses. (récupéré après un $tab=file($path.$file)) Je souhaiterai supprimer les éléments de ce tableau qui contiennent la chaine 'toto' (par exemple). J'arrive bien à supprimer l'élément du tableau qui a pour valeur 'toto' mais pas l'élément qui a pour valeur 'toto test titi' Merci pour votre aide. CC |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() |
Bonsoir,
On pourrait avoir un bout de code ? Merci et bonne soirée, Alexis
__________________
J'aimerais mieux être le premier dans ce village que le second à Rome. (Caius Julius Caesar) Je vous emmène en voyage sur la Route 66 ou sur mon mon site pro (qui est en pleine restructuration car il est toupouri) |
|
00
|
|
|
#3 | ||||
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 242 ![]() |
Tu pourrais, avec array_walk, mettre la valeur nulle pour chaque élément du tableau contenant "toto" puis ensuite supprimer les éléments vides du tableau
Code :
Code :
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
||||
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 21 ![]() |
Merci pour vos réponses.
Je teste tout ca et vous tiens informé. Merci encore. CC |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 242 ![]() |
Le seul truc de cette solution c'est que si tu as un élément de tableau sous la forme "azetototy", ça va le supprimer également. Si tu ne le souhaites pas on avisera
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 21 ![]() |
je ne devrai pas entrer dans ce cas la.
Merci pour cette précision. CC |
|
|
00
|
|
|
#7 | ||
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 242 ![]() |
En cas de besoin et comme ce n'est pas compliqué je te donne une solution pour cette option :
Code :
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
||
|
|
00
|
|
|
#8 | ||||
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 21 ![]() |
Super Merci, ca fonctionne correctement.
J'ai utilisé le code suivant que j'ai inséré dans une boucle foreach pour supprimer du tableau initial ($tab) plusieurs valeurs. Code :
Pour info, lorsque je fais un VI de ce fichier, je vois dans mon terminal le caractère suivant : ^M J'ai testé avec : Code php :
Merci, CC |
||||
|
|
00
|
|
|
#9 | |
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 242 ![]() |
Citation:
Cela dit ce n'est pas la bonne solution pour ton problème. Il suffit juste d'utiliser les options quand tu utilises la fonction file() Soit : Code :
$tab = file('somefile.txt', FILE_SKIP_EMPTY_LINES);
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
|
|
|
00
|
|
|
#10 | ||
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 242 ![]() |
... de plus pour supprimer plusieurs valeurs tu pourrais faire ceci
Code :
Et pour garder cette même syntaxe et si besoin ne supprimer qu'une valeur il te suffit de faire un tableau à un élément pour la suppression ex: $sup = array('toto');
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
||
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 21 ![]() |
Tout fonctionne parfaitement.
GRAND GRAND merci à vous !!! |
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 21 ![]() |
AIE !!
J'ai utilisé ton code ci dessus, et je viens de m'apercevoir que si $sup=('titi toto','tutu tata'); c'est a dire avec des espaces, ca ne fonctionne pas |
|
|
00
|
|
|
#13 | ||
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 242 ![]() |
Et comme ça ?
Code :
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
||
|
|
00
|
|
|
#14 | ||
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 21 ![]() |
Ca fonctionne bien après la suppression de la ligne suivante dans le code :
Code :
|
||
|
|
00
|
|
|
#15 |
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 242 ![]() |
Oui cette ligne était une option pour supprimer les espaces de début et de fin dans les motifs des lignes à supprimer... en supposant qu'ils aient été là par erreur. Mais si tu veux en tenir compte, cette ligne est effectivement à supprimer.
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
|
|
00
|
|
|
#16 | ||
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 242 ![]() |
Je viens de voir qu'on peut statistiquement améliorer un peu les performances d'autant plus que tu auras de nombreux motifs de suppression. Il suffit pour cela de sortir de la boucle une fois le premier motif trouvé, soit :
Code :
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
||
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() Inscription : novembre 2006 Messages : 21 ![]() |
Merci ABCIWEB, je testerai à la rentrée !!
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com