session_start(); //continue session
$courseArray = array(); //create array to store current course info
$courseArray = $_SESSION['course']; //fill array
$currentTitle = (string)$courseArray[0][0];
$currentDescription = (string)$courseArray[0][1];
$currentRecPrep = (string)$courseArray[0][14];
$newTitle = (string)$_POST["title"];
$newDescription = (string)$_POST["description"];
$newRecPrep = (string)$_POST["recPrep"];
if($currentTitle == $newTitle)
{
echo "succuse";
}
Приведенный выше код берет данные из формы, представленной на предыдущей странице, и проверяет, отличаются ли данные, предоставленные пользователем, от данных, которые уже были там, которые хранятся в переменной сеанса. Заголовок, описание и recPrep отправляются с другой страницы и отправляют правильные значения.
Теперь вот часть, которая заставила меня выдернуть волосы за прошедший час: сравниваемые строки идентичны, но условие никогда не завершается. Когда я повторяю два заголовка непосредственно перед условием, они печатают одно и то же, но условие не будет выполнено. Что случилось?
Кто-нибудь, пожалуйста, помогите. Благодарю.
Попробуйте использовать функцию strcmp с оператором ===:
if (strcmp($currentTitle, $newTitle) === 0) {
echo "succuse";
} else {
echo '$currentTitle is not equal to $newTitle in a case sensitive string comparison';
}
Других решений пока нет …