|
|
|
| Очень часто во многом коде встречал что наличия ключа в массиве проверяется именно isset()(в примитивном коде по типу проверки первый ли раз кто-то зашел на страницу), но недавно встретил код с применением второй функции между ними есть какае-то принципиальная особенность?
Пример применения "исета".
if (!isset($_REQUEST['button']))
{
echo "<form>
<input type='text' name='name' value='Введите имя'>
<input type='password' name='password'>
<input type='submit' name='button' value='Нажми'>
</form>";
}
else
{
if($_REQUEST['name']=="Bogdan" && $_REQUEST['password']=="Trotsko")
{echo "Здраствуйте,".$_REQUEST['name'];}
else
{echo "Доступ закрыт";}
|
| |
|
|
|
|
|
|
|
для: demonow
(21.03.2012 в 00:25)
| | Разницы две.
1. Может и самого массива не быть. Т.е. проверяя array_key_exists( "a" , $array ); если $array не определен или не является массивом получите варнинг. А isset( $array['a'] ); вернет false.
2. Если ключ массива определен, но равен null, то array_key_exists() вернет true, а isset() - false. | |
|
|
|
|
|
|
|
для: Sfinks
(21.03.2012 в 01:30)
| | isset не занимается проверкой ключей массива вообще, она проверяет установлена ли указанная переменная. А указать в качестве ключа массива null, это надо обладать богатой фантазией. ) | |
|
|
|
|
|
|
|
для: task
(21.03.2012 в 06:23)
| | Пункт 2 описан в мане. Так что уж извините ) | |
|
|
|
|
|
|
|
для: Sfinks
(21.03.2012 в 08:11)
| | Принято. А то, что результат разный, так потому он и разный, так как каждая из этих функций выполняет свою, конкретную задачу. Для автора же не плохо бы знать, что проверка именно ключей массива, при проверке пришедшей формы тоже приемлема, если нужно проверить массу ключей без многичесленных isset. В этом может помочь функция пересечения массивов. | |
|
|
|
|
|
|
|
для: task
(21.03.2012 в 08:33)
| | Спасибо | |
|
|
|