Strtoupper()PHP,用于混合字符字符串


Strtoupper() PHP for a string of mixed characters

我一直在为学校做一个项目,让你搜索一个字符串,它会查询数据库并返回该字符串中的所有单词。为此,我必须使用strtoupper(),如果你有一个全大写或小写字母的字符串,它会很好地工作。如果你在搜索中输入AAB或AAB,一切都会很好,它会返回两个变位符ABA和BAA。但是,如果您键入aAB,它将不返回任何内容。所以它从名为alpha的输入中获取帖子数据,然后按字母顺序排列单词,所以如果你输入ABA,它会返回AAB,然后将其大写

<title>Scrabble</title>
<?php
require 'connect.inc.php';
if (isset($_POST['al'])){
    $al=$_POST['al'];
    $al=alpha($al);
    $al=trim(strtoupper($al));
    $query="SELECT * from Words WHERE alpha='$al'";
    if ($query_run = mysql_query($query)){
        while ($query_row = mysql_fetch_assoc($query_run)){
            $alpha = $query_row['alpha'];
            $ana = $query_row['word'];
            echo "<strong>$ana</strong> $alpha<br>";
        }
    }

}
function alpha($word){
    $array=array();
    for($x=0;$x<strlen($word);$x++){
        $char=substr($word,$x,1);
        $array[$x]=$char;

    }
    sort($array);
    $alpha=implode('',$array);
    return $alpha;
}
?>
<form action='scrabble.php' method='POST'>
Enter text to anagram. Please use either all uppercase or all lowercase<input type='text'                   name='al'>
<input type='submit'>
</form>

链接在这里http://newdev.shodor.org/~amalani/newdev/scrabble.php感谢

多个问题:

PHP的排序函数返回一个布尔值来判断它是否成功。在你的代码中你有:

$array=sort($array);

应该是什么时候:

sort($array);

顶部附近有一个语法错误:

$alphagram=trim(strtoupper($al);

应该是:

$alphagram = trim(strtoupper($alphagram));

我还注意到,在你的网站上,你使用:

name='al'

然后在脚本中尝试访问POST变量alpha。您应该使用:

$_POST['al']