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 :: Аналог implode

 PHP.SU

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


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

> Описание: Опять ассоциативный массив
Viper
Отправлено: 10 Августа, 2010 - 14:09:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




Есть массив вида

CODE (htmlphp):
скопировать код в буфер обмена
  1. (
  2.         [countries] => Array
  3.         (
  4.                 [ax.png] => Еland Islands
  5.                 [as.png] => American Samoa
  6.         )
  7. )


есть цикл

PHP:
скопировать код в буфер обмена
  1. foreach ($this->data['countries'] as $cn_key=>$cn_value) {
  2.         echo '<img src="'.JURI::base().'components/com/assets/themes/'.$this->params->get('ka_theme').'/images/icons/countries/'.$cn_key.'" width="16" height="11" border="0" alt="'.$cn_value.'" />&nbsp;
  3.                 <a href="'.JRoute::_('index.php?option=com&task=view&params=bycname&name='.$cn_value).'">'.$cn_value.'</a>';
  4. }


как получить при этом строку без последней запятой, т.е. "Åland Islands, American Samoa"

PS! Если использовать for то там все просто, но проблема с ключем массива.
(Добавление)
Решено.
PHP:
скопировать код в буфер обмена
  1. $i = 0;
  2. foreach ($this->data['countries'] as $cn_key=>$cn_value) {
  3.         echo '<img src="'.JURI::base().'components/com/assets/themes/'.$this->params->get('ka_theme').'/images/icons/countries/'.$cn_key.'" width="16" height="11" border="0" alt="'.$cn_value.'" />&nbsp;
  4.         <a href="'.JRoute::_('index.php?option=com&task=view&params=bycname&name='.$cn_value).'">'.$cn_value.'</a>',$i==(count($this->data['countries'])-1) ? '' : ', '
  5.         $i++;
  6. }

(Отредактировано автором: 10 Августа, 2010 - 14:09:23)



-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
JustUserR
Отправлено: 11 Августа, 2010 - 00:47:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




Viper пишет:
Как получить при этом строку без последней запятой, т.е. "Åland Islands, American Samoa"
Если вам известно что в процессе объединения будут участновать некоторое число компонентов которые будут разделяться запятыми между собой - то вы можете просто получить строку с лишним разделителем и убрать его например с помощью функции substr - при этом выполнив предвариельную проверку его наличия и непустоты строки


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB