Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
695 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Découper une chaîne avec un tableau de longueur en param

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Découper une chaîne avec un tableau de longueur en param

n°2023473
Daemam
Posté le 17-09-2010 à 10:33:04  profilanswer
 

:hello:
 
je voudrais découper une chaîne de caractères en fonction d'un tableau qui contient la longueur de chaque sous-chaîne.
 
Exemple :
$str = "azertyuiopqsdfghjklm";
$tab = array(3,4,5,...);
 
Et une fonction qui me retournerait :
$res[0] = "aze";
$res[1] = "rtyu";
$res[2] = "iopqs";
... etc...
 
Pour l'instant, je tourne avec des substr et un tableau en conf mais c'est extrêmement lent.
Je dois découper chaque ligne d'un fichier en fonction de l'octet de départ et d'un longueur... Pas de caractère de séparation, tout est collé.
 
Problème majeur : le fichier fait 3.500.000 ligne pour 1.4Go et les serveurs sont encore en PHP4 :/
 
Y'a pas une fonction qui existe nativement, même en php5 :??:
Ou une astuce pour optimiser ?
 
Merci :jap:


---------------
Trouve ton apprentissage - [Feed-Back]
mood
Publicité
Posté le 17-09-2010 à 10:33:04  profilanswer
 

n°2023526
Daemam
Posté le 17-09-2010 à 16:54:40  profilanswer
 

Je m'auto-réponds, ça fera un peu de lecture à ceux qui lisent sans poster :D
 
=> sscanf, en bidouillant un peu, ça fonctionne impecc !


---------------
Trouve ton apprentissage - [Feed-Back]
n°2023527
rengzehn
Posté le 17-09-2010 à 16:57:26  profilanswer
 

ça serait pas mieux au lieu de
- lire une ligne puis la decouper
de faire :
- lire la ligne en la découpant

 

je sais pas comment tu ouvres ton ficher mais ça peut être très important aussi(eviter d'apeler des indexs, faire des seeks à gogo etc...). Sur de si gros fichiers je prefere lire les datas directement :

 

$res[i]=fread(monfich,$tab[i])

 

ou tu crées un type et

 

$montype=fread(monfich,sizeof($montype))


Message édité par rengzehn le 17-09-2010 à 17:00:03
n°2023531
Daemam
Posté le 17-09-2010 à 17:12:27  profilanswer
 

Pour la lecture du fichier, fopen + fgets.
 
La lecture en elle-même est relativement rapide. C'est vraiment le découpage de la ligne à coup de substr qui prend du temps :D
 
Par exemple, une ligne d'un certain type pour être découpée en 170 parties...
 
Ca se gère comment les fins de ligne avec fread aussi ? :/
 
Merci d'avoir répondu ^^


---------------
Trouve ton apprentissage - [Feed-Back]

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Découper une chaîne avec un tableau de longueur en param

 

Sujets relatifs
Comment faire pour créer un tableau interactif?tableau JSP / Servlet
comment lire tableau html en javascript ?Les tableau en Java
problème réalisation tableau périodique tkinterTableau 2D, à 1 dimension connue et l'autre inconnue...
Tri d'objet pointé dans un tableaumacro excel - créer un tableau récapitulant les liaisons de la feuille
Créer une table dans Access à partir d'un tableau[VBA] Test de chaine de caractère sur une collection
Plus de sujets relatifs à : Découper une chaîne avec un tableau de longueur en param


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR