Strtoupper() PHP для строки смешанных символов

-9

Я работаю над проектом для школы, где я ищу строку, и она запрашивает базу данных и возвращает все слова, которые находятся в этой строке букв. Для этого я должен использовать strtoupper(), который отлично работает, если у вас есть строка всех прописных или строчных букв. Если вы введете AAB или aab в поиск, все будет работать нормально, и оно вернет две анаграммы: ABA и BAA. Однако, если вы наберете aAB, он ничего не вернет. Таким образом, он получает данные ввода из ввода, называемые альфа, а затем это алфавитное слово, поэтому, если вы набрали 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 Спасибо

спросил(а) 2013-02-06T04:17:00+04:00 8 лет назад
0
61

Несколько вопросов:

Функция сортировки PHP возвращает логическое значение для того, было ли оно успешным или нет. В вашем коде у вас есть:

$array=sort($array);

Когда это должно быть просто:

sort($array);

У вас есть синтаксическая ошибка в верхней части:

$alphagram=trim(strtoupper($al);

Должно быть, должно быть:

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

Я также заметил, что на вашем сайте вы используете:

name='al'

А затем в скрипте попытайтесь получить доступ к переменной POST alpha. Вы должны использовать:

$_POST['al']

ответил(а) 2013-02-06T04:40:00+04:00 8 лет назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема