Script PHP pour trouver la première voyelle dans un nom

  • wpas
  • Graduate
  • Graduate
  • Avatar de l’utilisateur
  • Inscription: Juil 12, 2010
  • Messages: 214
  • Loc: Canada
  • Status: Offline

Message Novembre 29th, 2012, 11:30 pm

Bonjour à tous

Je n'arrive pas à être en mesure de créer un script php qui trouve la première voyelle dans un nom.

Prenez comme exemple, JOSEPH

Nous voyons que la première voyelle est o

Je veux que le script pour vérifier chaque lettre du nom et lorsqu'il détecte la première voyelle, d'arrêter et de l'écho.

Sons simples mais n'arrive pas à le faire.

Apprécierait un peu d'aide

Merci
http://www.schembrionics.com
The Ultimate Solutions Center
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Novembre 29th, 2012, 11:30 pm

  • Zealous
  • Guru
  • Guru
  • Avatar de l’utilisateur
  • Inscription: Avr 15, 2011
  • Messages: 1202
  • Loc: Sydney
  • Status: Offline

Message Novembre 30th, 2012, 4:28 am

trouvé une idée, mais il faut développer un peu plus à ce sujet.
Code: [ Select ]
<?php
$name = 'joseph';
$findme  = 'o';
$pos = strpos($name, $findme);

// Note our use of ===. Simply == would not work as expected
// because the position of 'a' was the 0th (first) character.
if ($pos === false) {
  echo "The string '$findme' was not found in the string '$name'";
} else {
  echo "The string '$findme' was found in the string '$name'";
  echo " and exists at position $pos";
}
?>
  1. <?php
  2. $name = 'joseph';
  3. $findme  = 'o';
  4. $pos = strpos($name, $findme);
  5. // Note our use of ===. Simply == would not work as expected
  6. // because the position of 'a' was the 0th (first) character.
  7. if ($pos === false) {
  8.   echo "The string '$findme' was not found in the string '$name'";
  9. } else {
  10.   echo "The string '$findme' was found in the string '$name'";
  11.   echo " and exists at position $pos";
  12. }
  13. ?>

dernière tentative lol
Code: [ Select ]
<?php
$name = ('joesph');
$check = array(1 => '$a','$e','$i','$o','$u');
$a  = "a";
$e  = "e";
$i  = "i";
$o  = "o";
$u  = "u";
$pos = strpos($name, $check);

// Note our use of ===. Simply == would not work as expected
// because the position of 'a' was the 0th (first) character.
if ($pos === false) {
  echo "'$check' was not found in the string '$name'";
} else {
  echo "The string '$check' was found in the string '$name'";
  echo " and exists at position $pos";
}
?>
  1. <?php
  2. $name = ('joesph');
  3. $check = array(1 => '$a','$e','$i','$o','$u');
  4. $a  = "a";
  5. $e  = "e";
  6. $i  = "i";
  7. $o  = "o";
  8. $u  = "u";
  9. $pos = strpos($name, $check);
  10. // Note our use of ===. Simply == would not work as expected
  11. // because the position of 'a' was the 0th (first) character.
  12. if ($pos === false) {
  13.   echo "'$check' was not found in the string '$name'";
  14. } else {
  15.   echo "The string '$check' was found in the string '$name'";
  16.   echo " and exists at position $pos";
  17. }
  18. ?>
  • spork
  • Brewmaster
  • Silver Member
  • Avatar de l’utilisateur
  • Inscription: Sep 22, 2003
  • Messages: 6134
  • Loc: Seattle, WA
  • Status: Offline

Message Novembre 30th, 2012, 5:07 pm

PHP Code: [ Select ]
<?
function first_vowel($name) {
    $vowels = array('a', 'e', 'i', 'o', 'u');
    $length = strlen($name);
    for ($i = 0; $i < $length; ++$i) {
        if (in_array($vowels, $name[$i])) {
            return $name[$i];
        }
    }
    return '';
}
?>
  1. <?
  2. function first_vowel($name) {
  3.     $vowels = array('a', 'e', 'i', 'o', 'u');
  4.     $length = strlen($name);
  5.     for ($i = 0; $i < $length; ++$i) {
  6.         if (in_array($vowels, $name[$i])) {
  7.             return $name[$i];
  8.         }
  9.     }
  10.     return '';
  11. }
  12. ?>


Vous souhaiterez probablement faire une validation supplémentaire sur l'entrée, mais vous voyez l'idée.
The Beer Monocle. Classy.
  • wpas
  • Graduate
  • Graduate
  • Avatar de l’utilisateur
  • Inscription: Juil 12, 2010
  • Messages: 214
  • Loc: Canada
  • Status: Offline

Message Décembre 1st, 2012, 12:25 pm

Salut spork

Trouvé samll erreur dans le code

changé :
de: $i = 0,
à: $i = 0 ;

Fonctions toujours de me donnent un peu de mal.

Je parviens à un nom et faisant écho à la sortie.
Pourriez vous modifiez votre code afin que je puisse entrer une variable nom et then echo la voyelle de la sortie.

Merci
http://www.schembrionics.com
The Ultimate Solutions Center
  • Zealous
  • Guru
  • Guru
  • Avatar de l’utilisateur
  • Inscription: Avr 15, 2011
  • Messages: 1202
  • Loc: Sydney
  • Status: Offline

Message Décembre 1st, 2012, 7:30 pm

Vous pas action publiera les données.

Name.php a forme action POST takename.php pour produire des résultats.

Je suppose que....
  • wpas
  • Graduate
  • Graduate
  • Avatar de l’utilisateur
  • Inscription: Juil 12, 2010
  • Messages: 214
  • Loc: Canada
  • Status: Offline

Message Décembre 1st, 2012, 10:04 pm

J'ai un formulaire sur une page

L'utilisateur entre son nom, puis l'envoie.

Je veux transférer le nom soumis à la fonction et l'écho
http://www.schembrionics.com
The Ultimate Solutions Center
  • Zealous
  • Guru
  • Guru
  • Avatar de l’utilisateur
  • Inscription: Avr 15, 2011
  • Messages: 1202
  • Loc: Sydney
  • Status: Offline

Message Décembre 1st, 2012, 10:36 pm

Code: [ Select ]
<html>
<body>

<form action="welcome.php" method="post">
Name: <input type="text" name="fname">
Age: <input type="text" name="age">
<input type="submit">
</form>

</body>
</html>
  1. <html>
  2. <body>
  3. <form action="welcome.php" method="post">
  4. Name: <input type="text" name="fname">
  5. Age: <input type="text" name="age">
  6. <input type="submit">
  7. </form>
  8. </body>
  9. </html>

Code: [ Select ]
<html>
<body>

Welcome <?php echo $_POST["fname"]; ?>!<br>
You are <?php echo $_POST["age"]; ?> years old.

</body>
</html>
  1. <html>
  2. <body>
  3. Welcome <?php echo $_POST["fname"]; ?>!<br>
  4. You are <?php echo $_POST["age"]; ?> years old.
  5. </body>
  6. </html>


trouvé cet exemple dans w3schools, devrait être un point de départ. Si votre toujours des problèmes avec elle alors je va lui donner un aller plus tard sur.
  • wpas
  • Graduate
  • Graduate
  • Avatar de l’utilisateur
  • Inscription: Juil 12, 2010
  • Messages: 214
  • Loc: Canada
  • Status: Offline

Message Décembre 2nd, 2012, 1:39 am

Mon problème n'est pas mise en place d'un formulaire, mais obtenir le nom de la fonction

Par exemple :

Code: [ Select ]
$input = "joseph";
$firstvowel = first_vowel($input);
echo $firstvowel;
  1. $input = "joseph";
  2. $firstvowel = first_vowel($input);
  3. echo $firstvowel;

Lorsque j'essaie de ce qui précède, je continue à recevoir des erreurs à propos de tableau

Il s'agit de mon problème, ne sais pas comment faire pour incorporer l'entrée en fonction
http://www.schembrionics.com
The Ultimate Solutions Center
  • wpas
  • Graduate
  • Graduate
  • Avatar de l’utilisateur
  • Inscription: Juil 12, 2010
  • Messages: 214
  • Loc: Canada
  • Status: Offline

Message Décembre 2nd, 2012, 2:01 am

J'ai réussi à le comprendre.

Il y avait une autre erreur dans la fonction que j'ai changé :

De : si (in_array ($voyelles, $name[$i]))
Jusqu'à : si (in_array ($ name [$ i], voyelles $))

Je recevais groupe erreurs, parce que le second paramètre n'était pas un tableau.

Maintenant les choses fonctionnent.

Voici le code final, que j'ai eu à travailler ;

Code: [ Select ]
<?php
function first_vowel($name)
{
  $vowels = array('A', 'E', 'I', 'O', 'U');
  $length = strlen($name);
  for ($i = 0; $i < $length; ++$i)
  {
    if (in_array($name[$i], $vowels))
    {
      return $name[$i];
    }
  }
  return '';
}
$input ="JOSEPH";
$firstvowel = first_vowel($input);
echo "The First Vowel is : ".$firstvowel;
?>
  1. <?php
  2. function first_vowel($name)
  3. {
  4.   $vowels = array('A', 'E', 'I', 'O', 'U');
  5.   $length = strlen($name);
  6.   for ($i = 0; $i < $length; ++$i)
  7.   {
  8.     if (in_array($name[$i], $vowels))
  9.     {
  10.       return $name[$i];
  11.     }
  12.   }
  13.   return '';
  14. }
  15. $input ="JOSEPH";
  16. $firstvowel = first_vowel($input);
  17. echo "The First Vowel is : ".$firstvowel;
  18. ?>
http://www.schembrionics.com
The Ultimate Solutions Center
  • spork
  • Brewmaster
  • Silver Member
  • Avatar de l’utilisateur
  • Inscription: Sep 22, 2003
  • Messages: 6134
  • Loc: Seattle, WA
  • Status: Offline

Message Décembre 6th, 2012, 3:40 pm

Désolé pour les fautes de frappe ; Je n'ai pas PHP installé n'importe où, donc je n'il n'a pas vérifié avant de poster.

Ce n'est pas travail à domicile, est-ce ?
The Beer Monocle. Classy.
  • wpas
  • Graduate
  • Graduate
  • Avatar de l’utilisateur
  • Inscription: Juil 12, 2010
  • Messages: 214
  • Loc: Canada
  • Status: Offline

Message Décembre 6th, 2012, 5:30 pm

Salut Spork

Vos fautes de frappe acually me fait une faveur.
Comme ils disent, vous apprendre de vos erreurs.

Si vous ne me n'avait pas donné pour travailler sur la première étape, je n'aurait pas accompagné la solution.

Merci pour votre aide
http://www.schembrionics.com
The Ultimate Solutions Center

Afficher de l'information

  • Total des messages de ce sujet: 11 messages
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 169 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC