我一直在为学校开展项目,我在那里搜索一个字符串,然后查询数据库并返回该字母串中的所有单词。为此,我必须使用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 感谢
答案 0 :(得分:1)
多个问题:
PHP sort function返回一个布尔值,表示它是否成功。在您的代码中,您有:
$array=sort($array);
什么时候应该是:
sort($array);
顶部附近有语法错误:
$alphagram=trim(strtoupper($al);
应该是:
$alphagram = trim(strtoupper($alphagram));
我还注意到,在您的网站上,您使用:
name='al'
然后在脚本中尝试访问POST变量alpha
。你应该使用:
$_POST['al']