Je ne vois pas mon erreur


#1



<?php
// Utilisez rand() pour afficher un nombre aléatoire a l'écran
print rand();
$nom="christophe";
print rand (1,9);
?>
?>



<?php
// Utilisez les fonctions strlen(), substr(), et rand() pour
// afficher aléatoirement l'un des caractères de votre prénom.

strlen("christophe");
print rand(1, 9);
echo substr("christophe",10)."
";
?>
?>


message d'erreur : Oups, merci de réessayer. Le caractère aléatoire affiché devrait être une lettre.

je ne pense pas etre loin de la solution mais je ne la trouve pas !

j'accepterais volontier un petit coup de main ! Merci

voici les instructions

Utilisez l'éditeur pour afficher un nombre aléatoire.
Créez une variable $nom et y mettre votre prénom.
Ensuite, afficher un caractère aléatoire de votre prénom. Utilisez vos connaissances de strlen(string), rand(min, max) et substr(string, start, length) pour ce faire.
CONSEIL : Rappelez-vous que substr() interprête les positions des caractères en débutant par zéro. Cela signifie que le dernier caractère de la chaîne sera à la position longueur - 1.


#2

Bonjour

en effet ce n'est pas un exercice aussi simple qu'on ne le pense. Pour l'instant, tu imprimes un chiffre à l'écran avec la commande print rand(1, 9); dans le 2ème php, mais c'est un caractère qui est attendu. Dans ton code, le $nom est déjà défini donc c'est un bon point de départ. Ensuite il faut

1) générér un nombre aléatoire qui va de 0 jusque strlen($nom)-1

2) enregistrer ce nombre dans une variable ($nombre par exemple)

3) afficher le caractère en question avec substr en lui donnant comme paramètres $nom, $nombre et le nombre de caractères à afficher (1 dans ce cas-ci)

J'espère que ça va t'aider


#3

décidemment, tu es mon sauveur thebelgian1 !
je pense avoir mal compris (encore) ce que tu m'as expliqué !



<?php
// Utilisez rand() pour afficher un nombre aléatoire a l'écran
print rand();
$nom="christophe";
print rand (1,9);
?>
?>



<?php
// Utilisez les fonctions strlen(), substr(), et rand() pour
// afficher aléatoirement l'un des caractères de votre prénom.
$nombre= 0,strlen($nom)-1
strlen("christophe");
substr($nom, $nombre,1);
print rand(1, 9);
?>
?>


message d'erreur " Oups, merci de réessayer. L'affichage du résultat de rand() devrait être un nombre".


#4

j'avais oublie des guillemets.

Maintenant ca me donne ca


#5

mmm la ligne

$nombre="0,strlen($nom)-1";

n'est pas complète car pour l'instant la variable $nombre n'est pas assignée à un chiffre mais à une chaine de caractères. Pour que $nombre soit un chiffre, il faut utiliser la fonction rand qui crée le nombre aléatoire de la manière suivante :

$nombre=rand(0,strlen($nom)-1)

La dernier print n'est pas correct non plus car il faut afficher le caractère et non pas un chiffre. Donc il faut remplacer le dernier print par

print substr($nom,$nombre,1)

++


#6

Je DESESPERE !!! je dois etre vraiment bête !

les ++ sont-ils utiles ? si oui je ne vois pas où les placés.


#7

INSTRUCTIONS

1-Utilisez l'éditeur pour afficher un nombre aléatoire. OK

2-Créez une variable $nom et y mettre votre prénom. OK

3-Ensuite, afficher un caractère aléatoire de votre prénom. Utilisez vos connaissances de strlen(string), rand(min, max) et substr(string, start, length) pour ce faire.
CONSEIL : Rappelez-vous que substr() interprête les positions des caractères en débutant par zéro. Cela signifie que le dernier caractère de la chaîne sera à la position longueur - 1.


#8

MERCI

Ca y est !!!

j'avais un ?> en trop en bas



<?php
// Utilisez rand() pour afficher un nombre aléatoire a l'écran
print rand();
$nom="christophe";
print rand (1,9);
?>
?>



<?php
// Utilisez les fonctions strlen(), substr(), et rand() pour
// afficher aléatoirement l'un des caractères de votre prénom.
$nombre=rand(0,strlen($nom)-1);
strlen("christophe");
substr($nom, $nombre,1);
print substr($nom,$nombre,1);

?>

</p>

Encore merci thebelgian1 ! t'es un as !


#9

Je suis heureux d'apprendre que tu y es arrivé :slight_smile: Une bonne continuation avec la suite!


#10

Merci pour ta réponse @thebelgian1 ! :slight_smile:

cela fait 2 jours que je bloquais sur cet exercice !! :slight_smile:

voici ma solution:

<?php
// Utilisez rand() pour afficher un nombre aléatoire a l'écran
echo rand (0,10);
?>
</p>
<p>
<?php
// Utilisez les fonctions strlen(), substr(), et rand() pour
// afficher aléatoirement l'un des caractères de votre prénom.
$nom="Olivier";
$nombre=rand (0,strlen($nom)-1);
echo substr ($nom,$nombre,1);

?>

Bonne journée !! :slight_smile: