Я хочу проверить, существует ли какой-либо конкретный индекс в моем массиве. Я использую этот код:
if(array_key_exists('resource_id', $_POST['resource_id']) == false)
{
$_POST['resource_id'] = 'undefined';
}
$_POST['resource_id']
- это поле моего массива, которое я передаю в ajax-запрос из js-кода. Теперь проблема, что в некоторых случаях я не могу передать поле resource_id, и мне нужно оценивать его как undefined
внутри моего условия как код выше.
Функция array_key_exists
возвращает мне эту ошибку:
Сообщение: array_key_exists() ожидает, что параметр 2 будет массивом, null
Что я делаю не так?
Если я хорошо понимаю, "resource_id" не существует все время Итак, что вы хотите проверить, если оно существует в массиве $ _POST:
if(array_key_exists('resource_id', $_POST) == false)
{
$_POST['resource_id'] = 'undefined';
}
Это может сработать, если вы сделали array_key_exists только на $ _POST, но для простоты я бы рекомендовал:
if(!isset($_POST['resource_id']){
$_POST['resource_id'] = 'undefined';
}
второй параметр array_key_exists
должен быть просто массивом, поэтому в вашем случае это будет
if(array_key_exists('resource_id', $_POST) == false)
{
$_POST['resource_id'] = 'undefined';
}