Strtoupper()PHP用于混合字符串

时间:2013-02-06 01:17:59

标签: php capitalization

我一直在为学校开展项目,我在那里搜索一个字符串,然后查询数据库并返回该字母串中的所有单词。为此,我必须使用strtoupper(),如果你有一个全大写或小写字母的字符串,它可以正常工作。如果您在搜索中输入AAB或aab,一切都会正常工作,它将返回两个字谜,ABA和BAA。但是,如果您键入aAB,它将不返回任何内容。 所以它从输入中获取post数据,名为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 感谢

1 个答案:

答案 0 :(得分:1)

多个问题:

PHP sort function返回一个布尔值,表示它是否成功。在您的代码中,您有:

$array=sort($array);

什么时候应该是:

sort($array);

顶部附近有语法错误:

$alphagram=trim(strtoupper($al);

应该是:

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

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

name='al'

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

$_POST['al']