Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » PHP|Функции для проверки существования ключа в массиве

Ответить
Настройки темы
PHP|Функции для проверки существования ключа в массиве

Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120


Конфигурация

Профиль | Отправить PM | Цитировать


Есть такая функция: array_key_exists("key",$array); С её помощью можно проверить, есть в данном массиве искомый ключ.
Но такой же эффект можно же достичь с помощью isset($array("key")).
Есть ли между ними какая нибудь разница??
Например: отличие обоих от empty() я понимаю, а вот есть ли различия между ими, не знаю

Отправлено: 15:22, 10-08-2005

 

Аватара для XCodeR

Ветеран


Сообщения: 878
Благодарности: 53

Профиль | Сайт | Отправить PM | Цитировать


если память не изменяет то array_key_exists перебирает все ключи и сверяет с переданным ей, если не находит совпадения - возвращает 0..

isset же просто проверяет существует ли переменная, что в теории быстрее.

хотя, конечно, могу ошибаться, т.е. имхо....

Отправлено: 16:23, 10-08-2005 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Тут смысл, имхо, разный:
  1. isset - проверяет наличие переменной, означена ли она каким-либо значением.
  2. array_key_exists - проверяет наличие ключа или индекса.
В случае с массивом, ясный день, что они будут выдавать одно и тоже значение, и только лишь в одной ситуации разойдутся во мнениях:
Код: Выделить весь код
$a = array('some_index' => NULL);
isset($a['some_index']) вернет false, a array_key_exists('some_index', $a) - true. А ведь NULL значение порой очень необходимо, к примеру запросы в БД могут возвращать NULL значения столбцов и когда результаты fetch'утся как ассоциативные массивы, то и возникает ситуация 'some_index' => NULL.

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 10:12, 11-08-2005 | #3


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


а я и забыл про NULL, только на FALSE проверял Сенкс

-------
Fortes fortuna adiuvat


Отправлено: 12:42, 11-08-2005 | #4



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » PHP|Функции для проверки существования ключа в массиве

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Прототип для функции Openlimm Программирование и базы данных 1 26-02-2007 20:32
Скрипт для проверки пользователя ($) Mike-os Вебмастеру 7 25-11-2005 18:27
PHP->Sessions: вопрос по функции session_set_save_handler vadimiron Вебмастеру 2 20-09-2005 12:04
вопрос по PHP функции header mar Вебмастеру 10 13-06-2004 19:44
Как писать русским шрифтом в функции imagestring()  (PHP) vadimiron Вебмастеру 9 10-06-2004 20:51




 
Переход