В моем проекте значение таблицы mysql необходимо обновить, поэтому, когда пользователь видит свой профиль, он может обновить свой профиль, после нажатия кнопки «Обновить профиль» он/она будет см. форму, которая заполняется предыдущими данными, а затем он может изменить свой профиль или нет. Я хочу проверить, обновляет ли он информацию или нет, поэтому я извлекаю эту информацию пользователя из базы данных и проверяю текущую информацию, которую он/она вводит, если значения изменяются, а затем сохраняет это измененное значение в другом массиве и сохраняет только эту измененную информацию , Поэтому я использую функцию strcmp (str1, str2), но она не работает, поэтому я использую «===», она работает только для небольших данных, таких как имя, пароль и т. Д. Но мне нужно также проверить, изменил ли он/ее биография или нет, я использую эту функцию, но она не работает.строка сравнения в php
Мой код ::
<?php
$users = $user->user_info_by_id($object->id); // get user's info from database
foreach($users as $user) { //
if($user->user_name === $arrayValue['user_name']) // here $arrayValue['user_name'] is the recent info that user sent to update his profile
echo "<br /> value matched"; // it matched
else {
echo "<br /> value not matched";
}
if($user->user_biography === $arrayValue['user_biography']) // it doesn't work, here 'user_biography' is 'text' type data in mysql database
echo "<br /> value matched";
else
echo "<br /> value not matched"; // answer is always 'value not matched'
}
?>
просто заменить все поля, если вам не нужно записывать, где было сделано изменение. – 2013-03-31 01:21:08
Вы пробовали двойные знаки равенства вместо тройного равенства? '==' vs '==='. В этих случаях я не вижу причины проверять «тип», и это может быть причиной проблемы. Разница между двойными и тройными равна: http://stackoverflow.com/questions/80646/how-do -the-equal-double-equals-and-identity-triple-equals-comparis –