Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/12/2011, 10h43   #1
Invité régulier
 
Inscription : juin 2009
Messages : 21
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 21
Points : 6
Points : 6
Par défaut Array, supprimer valeur vide.

Bonjour,

J'ai un array sous cette forme :

Array
(
[0] => salut
[1] => c'est qui?
[2] =>
[3] =>
[4] => blabla
[5] =>
)

C'est le contenu d'un champ text que je récupère dans ma bdd et que je retourne avec la fonction explode pour chaque retour à la ligne (/n).

J'essaye de supprimer un champ vide si il y en a deux :
[2] =>
[3] =>
Et toujours supprimer le dernier, si il est vide

en gros avoir ce résultat :

(
[0] => salut
[1] => c'est qui?
[2] =>
[3] => blabla
)

J'ai pensé à array_filter mais j'ai réussi a supprimer TOUS les champs vide. Alors que je veux en garder un quand il y en a plusieurs à la suite.

Si vous avez une idée. Merci
shonan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2011, 11h05   #2
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Bonjour,

au lieu de t'embarquer dans une routine sur tes tableaux, il serait préférable de nettoyer d'abord ta chaine et ensuite d'appliquer explode()Comme ceci :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
 
$a = 'testA
 
 
testB
 
testC
 
 
 
 
testD
';
 
$b = trim($a, "\r\n");
$c = preg_replace("/(\r\n){2,}/", "\r\n\r\n", $b);
$d = explode("\r\n", "$c");
 
?>
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/12/2011, 15h20   #3
Invité régulier
 
Inscription : juin 2009
Messages : 21
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 21
Points : 6
Points : 6
Merci !! C'est exactement ce que je voulais faire! thx rawsrc !
shonan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h27.


 
 
 
 
Partenaires

Hébergement Web