массивы — я использую PHP, и у меня есть внутренняя форма, где пользователь должен ввести письмо, используя

У меня есть внутренняя форма, в которой пользователь должен вводить букву, используя буквы центуриона, такие как ARESTU. Я уже опубликовал это слово в жизни PHP и использовал функцию is_numeric, чтобы заставить пользователя вводить слово, а не число.

Я знаю, хочу иметь возможность преобразовать слово в верхний регистр. Мне нужно найти длину введенного пользователем слова, которое я уже сделал, используя функцию strlen. Я знаю, должен дать каждой букве значение, такое как а = 1, б = 2, с = 3 и т. Д.

Затем мне нужно проверить каждую букву по очереди, чтобы увидеть, какую букву пользователь использовал из тех букв, которые ему дали. Если пользователь использует букву, которой нет в слове, то эта буква не имеет значения. Затем я хочу иметь возможность отображать отображение каждой буквы слова со значением.

Вот пример того, как я хочу, чтобы это выглядело

Если пользователь вводит слово «являются»

  • A = 1
  • R = 18
  • Е = 5

Всего 24 буквы

Вот код, который у меня есть, этот код получает только то слово, которое пользователь вводит из сообщения, отображает слово и показывает количество букв в слове.

<? php

$word = $_POST["word"];

$product = 1;strtoupper($word);
print "$word <br> ";

if (is_numeric($word)) {
print "Please enter a word";
}$test = strlen($word);
print "Number of letters in the word are $test";

$lettersArray = array(
'a' = 1,
'e' = 5,
'r' = 18,
's' = 19,
't' = 20,
'u' = 21,
'other' = 0,
);$valueString = "";
for ($i = 0; $i < strlen($word); $i++) {
$letter = strtolower(substr($string, $i, 1));
$valueString. = $lettersArray[$letter];
}$product = $product * $word;

?>

0

Решение

Ее твой код с модификацией

EDIT 2

$word = "ARE";
$product = 1;
strtoupper($word);
print "$word <br> ";

if (is_numeric($word)) {
print "Please enter a word";
}

$test = strlen($word);
print "Number of letters in the word are $test <br>";

$lettersArray = array(
'a' => 1,
'e' => 5,
'r' => 18,
's' => 19,
't' => 20,
'u' => 21,
'other' => 0,
);

$valueString = 0;
$assignednumberalpha = null;

for ($i = 0; $i < strlen($word); $i++) {
$letter = strtolower($word[$i]);
$valueString = $valueString+$lettersArray[$letter];
$assignednumberalpha .= "$letter =".$lettersArray[$letter].'<br>';;
}

$product = $product * $word;

echo $assignednumberalpha;
echo "The final Result : $valueString";

?>
0

Другие решения

Попробуйте этот код:

<? php

$word = $_POST["word"];

$product = 1;strtoupper($word);
print "$word <br> ";

if (is_numeric($word)) {
print "Please enter a word";
}$test = strlen($word);
print "Number of letters in the word are $test";

// Your array
$lettersArray = array(
'a' => 1,
'e' => 5,
'r' => 18,
's' => 19,
't' => 20,
'u' => 21,
'other' => 0,
);

// convert word into lower case or upper case
$word = strtolower($word);

// Split each chars of word and store in array
$chars = str_split($word);// find the total in foreach or any other loop
foreach ($chars as $char)
{
if(key_exists($char, $lettersArray))
$product  = $product  *  $lettersArray[$char];
}

echo $product;
?>
0

$array = ['a' => 5, 'b' => 6, 'e' => 7, 'r' => 8, 't' => 9];
function myfunc($array, $word)
{
$tmp = [];
$word = strtolower($word);
for ($i = 0; $i < strlen($word); $i++)
$tmp[] = $array[$word[$i]];

return array_sum($tmp);
}

print_r(myfunc($array, 'bat'));
-1
По вопросам рекламы [email protected]