我使用的是PHP,我有一个后端表单,用户必须使用

我使用的是PHP,我有一个后端表单,用户必须使用,php,arrays,if-statement,strlen,Php,Arrays,If Statement,Strlen,我有一个后端表单,用户必须使用centurion字母(如ARESTU)输入字母。我已经把这个词发布到了PHP生活中,并使用了is_numeric函数让用户知道用户输入的是一个词而不是aa号 我知道你想把这个词转换成大写。我需要找到用户输入的单词的长度,我已经使用strlen函数完成了。我知道必须给每个字母一个值,比如a=1,b=2,c=3等等 然后,我需要依次检查每个字母,看看用户使用的是他们收到的字母中的哪个字母。如果用户使用的字母不在单词中,则不会为该字母指定值。然后,我希望能够用值显示单词

我有一个后端表单,用户必须使用centurion字母(如ARESTU)输入字母。我已经把这个词发布到了PHP生活中,并使用了is_numeric函数让用户知道用户输入的是一个词而不是aa号

我知道你想把这个词转换成大写。我需要找到用户输入的单词的长度,我已经使用strlen函数完成了。我知道必须给每个字母一个值,比如a=1,b=2,c=3等等

然后,我需要依次检查每个字母,看看用户使用的是他们收到的字母中的哪个字母。如果用户使用的字母不在单词中,则不会为该字母指定值。然后,我希望能够用值显示单词的每个字母

下面是一个我希望它看起来像什么的例子

如果用户输入单词“are”

  • A=1
  • R=18
  • E=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;

?>

尝试以下代码:

<? 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;
?>

她是您修改后的代码

编辑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";

?>
$word=“ARE”;
$product=1;
strtoupper($word);
打印“$word
”; 如果(是数字($word)){ 打印“请输入一个单词”; } $test=strlen($word); 打印“单词中的字母数为$test
”; $lettersArray=数组( “a”=>1, “e”=>5, 'r'=>18, 's'=>19, ‘t’=>20, ‘u’=>21, “其他”=>0, ); $valueString=0; $assignednumberalpha=null; 对于($i=0;$i”;; } $product=$product*$word; echo$assignednumberpha; 回显“最终结果:$valueString”; ?>
$array=['a'=>5,'b'=>6,'e'=>7,'r'=>8,'t'=>9];
函数myfunc($array,$word)
{
$tmp=[];
$word=strtolower($word);
对于($i=0;$i
您到底想要什么?您得到了什么?您是否搜索
ord()
函数来将字符转换为ascii码?数组错误,应使用“=>”而不是“=”在ArrayShank you中,这帮了大忙。我现在尝试做的唯一一件事就是显示,就是尝试将单词关闭,这样当用户在后端表单中输入单词并单击submit按钮时,不仅显示单词display,而且如果单词有两个a,则显示a=2,就像在apple中,如果用户输入的字母不在列表中一样“然后它就变成了另一个了。”丽贝卡肖在苹果公司得了两个a,是吗?不管怎么说,当用户输入word时,你想显示分配给它的号码吗?哈哈,对我来说太早了,我应该告诉p的,但是的,你是对的,这就是我想要的do@RebekahShaw现在检查,这是你需要的吗?首先它是不可读的。第二:这是如何回答这个问题的?第三:你也必须给你的网站发垃圾邮件吗?标记为垃圾邮件。
$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'));