Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> array_key_exists(), выдает ошибку 
V
    Опции темы
Shark
Дата 20.2.2010, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



есть функция array_key_exists() и есть код, который я использую для отображения именинников

Код

    $users = implode(" | ", $born);
    echo $borns = (array_key_exists($day, $dr_all_d) ?  $dr_all_d[$day] : 0) ? ''.$users.'' : 'Именинников нет' ;
    if($day == date("d", array_key_exists($day, $dr_all_d) ?  $dr_all_d[$day] : 0) and $months == date("m", $dr_all_m[$month]))
        { echo $borns; }


но когда именинников нету выдается ошибка:
Warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object in /home/zabeykin/public_html/sh/forum/statistika.php  on line 30
Именинников нет
Warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object in /home/zabeykin/public_html/sh/forum/statistika.php on line 31

Ошибку вызывают эти строки:
Код

    echo $borns = (array_key_exists($day, $dr_all_d) ?  $dr_all_d[$day] : 0) ? ''.$users.'' : 'Именинников нет' ;
    if($day == date("d", array_key_exists($day, $dr_all_d) ?  $dr_all_d[$day] : 0) and $months == date("m", $dr_all_m[$month]))


error_reporting(ALL) стоит, а следовательно ошибка в отладке..
Помогите smile


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
s0lman
Дата 20.2.2010, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: 9
Всего: 29



Перед этими двумя строками попробуйте поставить проверку
Код

if(!empty($dr_all_d))
{
    ...
}



--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
awers
Дата 20.2.2010, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



в начале скрипта $dr_all_d = (array)$dr_all_d;
PM MAIL WWW ICQ Skype   Вверх
Shark
Дата 20.2.2010, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



спс. помогло... но тогда не отображается сообщение "Именинников нет"


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
mxt
Дата 20.2.2010, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 6.9.2007

Репутация: нет
Всего: 1



array_key_exists($day, $dr_all_d) ?  $dr_all_d[$day] : 0)


это стоит присваивать переменной, чтоб 2 раза не вызывать одно и тоже действие
--------------------
PM MAIL   Вверх
Shark
Дата 20.2.2010, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 18.6.2006
Где: Москва

Репутация: 4
Всего: 4



$dr_all_d = (array)$dr_all_d; - это покажет такой же результат..

Добавлено через 5 минут и 6 секунд
сделал так:
Код

    if(!empty($dr_all_d))
        {
            echo $borns = (array_key_exists($day, $dr_all_d) ?  $dr_all_d[$day] : 0) ? ''.$users.'' : 'Именинников нет' ;
            if($day == date("d", array_key_exists($day, $dr_all_d) ?  $dr_all_d[$day] : 0) and $months == date("m", $dr_all_m[$month]))
        
        { echo $borns; }
        }
        else
        { echo "Именинников нет"; }


и все нормально заработало.. спс, за помощь


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0523 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.