[php] chaine de caractere et tableau

Fermé
oxyris - 5 juil. 2007 à 18:34
touriste77 Messages postés 32 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 29 octobre 2009 - 29 oct. 2009 à 11:43
Bonjour ! Je voudrais réaliser un script en php, seulement je n'arrive pas du tout à trouver comment le faire, je vous explique :

J'ai une variable $contenu_fichier, qui contient comme son nom l'indique, le contenu d'un fichier...

Je voudrais mettre cette variable en tableau, de façon à couper en plusieurs parties, chaque "cellule" contiendrais admettons 500 caractères), j'aurrais donc dans la premiere "cellule" les caractères de 0 à 500, dans la 2ème de 500 à 1000, etc...
Ainsi en affichant array(3) par exemple, j'obtiendrais uniquement les caractères de 1000 à 1500.. Vous me suivez ?

J'ai fouiller un peu partout, je suis bloquer, je sais faire un tableau, compter le nombre de caractère, mais pour le reste j'avoue,je suis completement perdu.

Si l'un de vous à un idée ?

Merci
A voir également:

4 réponses

Merci beaucoup pour ce script. Il m'a été d'un grand secour !
1
Pourquoi se compliquer ?
str_split($var, 500);

Et tu as ton tableau.
1
touriste77 Messages postés 32 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 29 octobre 2009 25
29 oct. 2009 à 11:43
lol, c vrai que str_plit le fait tout seul... vive php!!!
merci pour cette réponse (bien qu'elle vienne 1 an après ^^)
ça sert toujours :)
0
touriste77 Messages postés 32 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 29 octobre 2009 25
16 juil. 2007 à 20:47
salut,

essaie ce bout de code si ça répond à tes attentes.

<?php

...

$tableau = array();
$taille_cellule = 500;  /* par exemple */

$i = 0;
while ($i < strlen($contenu_fichier)) {
	$tableau[] = substr($contenu_fichier, $i, $taille_cellule);
	$i += $taille_cellule;
}

echo $tableau[3];

...

?>


c'est un peu du bidouillage mais ça marche (enfin, si j'ai compris ton problème...)
bonne continuation.
0
Je me suis appuyé sur cette astuce pour en faire une fonction que voili :
function Cut_chaine_add_caractere($chaine,$taille_cellule,$add_chaine){

	// On compte le nombre de caractere dans la chaine	
	$count = strlen($chaine);
	
	// Si la chaine de caractere est plus petite que stop le script;
	if ( $count < $taille_cellule ){
		return $chaine;
	}
	
	// On met en variable tableau les cellules	
	if ( $count > $taille_cellule ){
	
		$i = 0;
		while ($i < $count) {					
			$tableau[] = substr($chaine, $i, $taille_cellule);
			$i += $taille_cellule;
		}	
	}
	
	// On met le caractere souhaite apres chaque cellule
	$chaine = '';
	$i=0;
	while ( isset($tableau[$i]) && !empty($tableau[$i])){
		$chaine.= $tableau[$i].$add_chaine;
		$i++;
	}
	
	// On retourne la chaine avec les caracteres souhaite
	return $chaine;
}

$Ma_Chaine_A_Traiter = "aaaaaaaaaaaaaaaaabbbbbbbbbbbbbccccccccccccccccccc";
$Ma_Chaine_A_Traiter = Cut_chaine_add_caractere( $Ma_Chaine_A_Traiter, '5', "<br />\n");


Ce qui retournera donc :

aaaaa
aaaaa
aaaaa
aabbb
bbbbb
bbbbb
ccccc
ccccc
ccccc
cccc
0