строка — PHP, если оператор не завершает

    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 отправляются с другой страницы и отправляют правильные значения.

Теперь вот часть, которая заставила меня выдернуть волосы за прошедший час: сравниваемые строки идентичны, но условие никогда не завершается. Когда я повторяю два заголовка непосредственно перед условием, они печатают одно и то же, но условие не будет выполнено. Что случилось?

Кто-нибудь, пожалуйста, помогите. Благодарю.

0

Решение

Попробуйте использовать функцию strcmp с оператором ===:

if (strcmp($currentTitle, $newTitle) === 0) {
echo "succuse";
} else {
echo '$currentTitle is not equal to $newTitle in a case sensitive string comparison';
}
1

Другие решения

Других решений пока нет …