Bonsoir, s'avez vous pourquoi cela ne marche pas ? j'aisser de faire afficher seulement un caractère sur deux
<?php

	$str = "Tous ces instants seront perdus dans le temps comme les larmes sous la pluie";


	while ($str[1] < $str[64]){

		if ($str % 2)
			echo $str . "<br/>";
		$str++;
	}


?>
Modérateur
il te faut faire ta boucle sur la longueur de ta chaine .

exemple
	<?php
    $str = "Tous ces instants seront perdus dans le temps comme les larmes sous la pluie";

	while ($i <= strlen($str) ) {
		if ($i % 2)  
			echo   $str[$i].'<br>' ;
		$i++;
	}
    ?>

Modifié par gcyrillus (06 Nov 2020 - 17:46)
gcyrillus a écrit :
il te faut faire ta boucle sur la longueur de ta chaine .

exemple
	&lt;?php
    $str = "Tous ces instants seront perdus dans le temps comme les larmes sous la pluie";

	while ($i &lt;= strlen($str) ) {
		if ($i % 2)  
			echo   $str[$i].'&lt;br&gt;' ;
		$i++;
	}
    ?&gt;


Salut, Merci beaucoup de ta réponse !
Je doit faire avec isset et ne pas utiliser strlen. donc j'ai fait ça

<?php

	$str = array ("Tous ces instants seront perdus dans le temps comme les larmes sous la pluie");
	
	for ($i = 0,isset(str[$i] = true, $i++);
	

?>




Une idée de pourquoi cela ne fonctionne pas ?
Salut, peut-être comme ça ?


<?php

	$str = array ("Tous ces instants seront perdus dans le temps comme les larmes sous la pluie");
	
	for ($i = 0,isset(str[$i]) == true, $i++);
	

?>

vzytoi a écrit :
Salut, peut-être comme ça ?


&lt;?php

	$str = array ("Tous ces instants seront perdus dans le temps comme les larmes sous la pluie");
	
	for ($i = 0,isset(str[$i]) == true, $i++);
	

?&gt;





merci encore beaucoup de ta réponse, en faite ça me dit que le problème viens du crochet "isset[$i]" j'ai tester sans ou avec autre chose mais le problème est toujours là. au finale, je veut lui faire afficher un caractère sur deux . Merci encore de ton aide . Smiley smile
Modérateur
il me semble que :
$str = array ("Tous ces instants seront perdus dans le temps comme les larmes sous la pluie");
n'est composé que d'une seule clé/valeur , non ?
Modérateur
Et l'eau,

gcyrillus a écrit :
il me semble que :
$str = array ("Tous ces instants seront perdus dans le temps comme les larmes sous la pluie");
n'est composé que d'une seule clé/valeur , non ?

+1

@vzytoi :
D'ailleurs, la var a pour nom str et elle est déclarée en tant que array Smiley biggol . La sémantique, quand tu nous tiens....

J'ai l'impression que tu t'emmêles les pinceaux entre php / python. Concentre toi sur un langage Smiley cligne

python :

chaine = "Tous ces instants seront perdus dans le temps comme les larmes sous la pluie"
output = "".join([v for k, v in enumerate(chaine) if k % 2 == 0])
print(output)


php

<?php
$str = "Tous ces instants seront perdus dans le temps comme les larmes sous la pluie";
$output = "";
for($i = 0; $i < strlen($str); $i += 2) $output .= $str[$i];
echo $output;


variante php :

$str = "Tous ces instants seront perdus dans le temps comme les larmes sous la pluie";
$output = implode('', array_filter(str_split($str), function($c, $i){ return $i % 2 === 0; }, ARRAY_FILTER_USE_BOTH ));
echo $output;

Modifié par niuxe (07 Nov 2020 - 13:08)