Découper une chaîne tous les X caractères
Résolu
t671
Messages postés
1485
Date d'inscription
Statut
Membre
Dernière intervention
-
t671 Messages postés 1485 Date d'inscription Statut Membre Dernière intervention -
t671 Messages postés 1485 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaiterais découper une chaîne tous les X caractères.
En supposant que $chaîne soit égale à 201220131724, je voudrais découper $chaîne tous les 4 caractères.
Ce que je pense :
Exemple : faire un explode tous les 4 caractères (quelle fonction utilisée, comment l'écrire ?)
Comment trier ces $chaîne en ordre ASC ou DESC ?
Merci pour vos conseils.
Je souhaiterais découper une chaîne tous les X caractères.
En supposant que $chaîne soit égale à 201220131724, je voudrais découper $chaîne tous les 4 caractères.
Ce que je pense :
Exemple : faire un explode tous les 4 caractères (quelle fonction utilisée, comment l'écrire ?)
Comment trier ces $chaîne en ordre ASC ou DESC ?
Merci pour vos conseils.
2 réponses
-
Salut,
Si tu veux pouvoir trier les parties de la chaine découpée, tu peux aussi regarder du coté de la fonction str_split() pour récupérer les parties de la chaine dans un tableau : https://www.php.net/manual/fr/function.str-split.php
$monTableau = str_split('abcdefgeh123456789', 4); sort($monTableau); var_dump($monTableau);
Bonne journée,-
-
Ouch PHP 4, ca ne nous rajeunit pas ^^
Une solution alternative : https://gist.github.com/madebyreformat/2050592 -
Désolé, je n'arrive pas à appliquer la function à mon script.
si j'écris$marg = substr($tonarray[$i]['date_mariage'], -4); function str_split($marg) { $str_array=array(); $len=strlen($marg); for($i=0; $i<$len; $i++) { $str_array[]=$marg{$i}; } return $str_array; }
j'ai le message d'erreur
Fatal error: Cannot redeclare str_split() (previously declared in /mnt/100/sda/........ -
Très étrange comme message d'erreur, celui-ci indique que la fonction est déjà déclarée or le message d'erreur de ton premier commentaire indique que la fonction n'existe pas.
Sinon pour faire encore plus simple, une simple boucle avec un substr() tout les 4 caractères devrait fonctionner sur les versions PHP4 et +
$chaine = '201220131724'; $parties = array(); for ($i = 0; $i < strlen($chaine); $i = $i + 4) { $parties[] = substr($chaine, $i, 4); } var_dump($parties);
Si la chaine peut contenir des caractères multi-octet, les fonctions strlen et substr devraient être remplacées par mb_strlen et mb_substr. -
-
-