Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как узнать что ключ пустой

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
AkudJEE
Отправлено: 09 Октября, 2013 - 06:25:17
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Янв. 2012  
Откуда: Уфа


Помог: 0 раз(а)




Всем привет. В БД прописываются ключи файла, через запятую.
Далее я их разбиваю:
CODE (text):
скопировать код в буфер обмена
  1. $key=$row->metakey;
  2. list($a, $b, $c, $d, $e) = explode(', ', $key);

После я вывожу с помощью LIKE одинаковые ключи.
Но есть проблема при выводе ключей, к примеру, если ключей только три он выводит три одинаковых ключа и далее выводит все ключи. Происходит это потому что ключи $d, $e пустые, запрос не понимает, что они пустые и в итоге выводит все ключи из БД.
Как же можно задать условие к примеру такое:
CODE (text):
скопировать код в буфер обмена
  1. if ($d пустой)
  2. {echo 'УРА';}
  3. elseif ($e пустой)
  4. {echo 'опять УРА';}

и так далее. Пробовал задать как empty не получается, пробовал задать как '0' таже не получается.
Пробовал так:
CODE (text):
скопировать код в буфер обмена
  1. if ($key=list($a, $b, $c, $d));
  2. {echo 'УРА';}

Тоже не получается. Подскажите, пожалуйста, каким образом можно задать функцию, что ключ пустой?
 
 Top
Silver Soft
Отправлено: 09 Октября, 2013 - 07:29:32
Post Id


Гость


Покинул форум
Сообщений всего: 97
Дата рег-ции: Авг. 2013  


Помог: 0 раз(а)




а просто так сделать
PHP:
скопировать код в буфер обмена
  1. $key=$row->metakey;
  2. $myArr = explode(', ', $key);


тогда в $myArr будет нужный массив... узнать количество элементов массива count($myArr)
 
 Top
AkudJEE
Отправлено: 09 Октября, 2013 - 07:34:02
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Янв. 2012  
Откуда: Уфа


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. $myArr = count($key);
  2. if ($myArr == 4)
  3. {echo 'УРА';}
  4. elseif ($myArr == 5)
  5. {echo 'Опять УРА';}

Вот так?
 
 Top
Silver Soft
Отправлено: 09 Октября, 2013 - 07:42:04
Post Id


Гость


Покинул форум
Сообщений всего: 97
Дата рег-ции: Авг. 2013  


Помог: 0 раз(а)




AkudJEE пишет:
Вот так?

смотря, что тебе нужно? )
нужно просто получить массив ключей для дальнейшей работы, то выше мною приведенный код подходит,
если хочется узнать, чтобы в массиве не было 4 и 5 ключа, то выше твой код подходит)
в массиве пустых элементов не будет... то есть будут, если в строке будут обрамленные запятыми пробелы)
(Добавление)
то есть, строка 'a, b, c' вернет array('a', 'b', 'c')
 
 Top
AkudJEE
Отправлено: 09 Октября, 2013 - 07:51:54
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Янв. 2012  
Откуда: Уфа


Помог: 0 раз(а)




Спасибо, вроде смысл понятен, попробую составить код, и отпишусь о результатах ближе к вечеру.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB