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 :: Помогите вывести 1 параметр из масива

 PHP.SU

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


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

> Без описания
nikoshot
Отправлено: 09 Октября, 2018 - 14:12:00
Post Id


Гость


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


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




Добрый день!
Есть масив кторый переберает характеристики
PHP:
скопировать код в буфер обмена
  1.  
  2. private function array2Param($params) {
  3.                 $retval = '';
  4.                 foreach ($params as $param) {
  5.                         $retval .= '<param name="' . $this->prepareField($param['name']);
  6.                         if (isset($param['unit'])) {
  7.                                 $retval .= '" unit="' . $this->prepareField($param['unit']);
  8.                         }
  9.                         $retval .= '">' . $this->prepareField($param['value']) . '</param>' . $this->eol;
  10.                 }
  11.                 $retval .= '<guarantee>' . '[b]тут нужное значение[/b]' . '</guarantee>';
  12.                 return $retval;
  13.         }
  14.  

на выходе вот такая конструкция
<param name="Производитель">Новатор (Украина)</param>
<param name="Размер">235x195x160 мм</param>
<param name="Частота заполнения импульсов">110 кГц</param>
<param name="Частота прохождения пакетов видеоимпульсов">100 Гц</param>
<param name="Гарантийный срок (мес)">12</param>

------------------------------
Что нужно:
Что бы в поле "мое значение" подставлялся 12 из гарантийного срока...

Как я это примерно представляю
PHP:
скопировать код в буфер обмена
  1.  
  2. if strpos($param['name'] =='Гарантийный срок') {
  3. $retval .= '<guarantee>' . $param['value'] . '</guarantee>';
  4. }
  5.  

Нужна ваша помощь как это вставить в цикл..
 
 Top
nikoshot
Отправлено: 10 Октября, 2018 - 16:50:10
Post Id


Гость


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


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




Не ужели ни кто не знает...???
Хелп!!
 
 Top
andrewkard
Отправлено: 10 Октября, 2018 - 17:03:45
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


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




nikoshot пишет:
как это вставить в цикл

Вставить код в тело цикла пробовали?
 
 Top
nikoshot
Отправлено: 10 Октября, 2018 - 17:18:43
Post Id


Гость


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


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




andrewkard пишет:
nikoshot пишет:
как это вставить в цикл

Вставить код в тело цикла пробовали?

Пробовал...
но что то ни как
я вот так делал..
PHP:
скопировать код в буфер обмена
  1.  
  2. private function array2Param($params) {
  3. $retval = '';
  4. foreach ($params as $param) {
  5. $retval .= '<param name="' . $this->prepareField($param['name']);
  6. if (isset($param['unit'])) {
  7. $retval .= '" unit="' . $this->prepareField($param['unit']);
  8. }
  9. $retval .= '">' . $this->prepareField($param['value']) . '</param>' . $this->eol;
  10. if (strpos($this->prepareField($param['name']) == 'Гарантийный')) {    // это мой код
  11. $retval .= '<guarantee>' . $this->prepareField($param['value']) . '</guarantee>';
  12. }
  13. }
  14. return $retval;
  15. }
  16.  
 
 Top
andrewkard
Отправлено: 11 Октября, 2018 - 11:18:44
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


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




Хромает синтаксис:

PHP:
скопировать код в буфер обмена
  1.  
  2.     private function array2Param($params) {
  3.        
  4.         $retval = '';
  5.        
  6.         foreach ($params as $param) {
  7.             $retval .= '<param name="' . $this->prepareField($param['name']);
  8.             if (isset($param['unit'])) {
  9.                 $retval .= '" unit="' . $this->prepareField($param['unit']);
  10.             }
  11.             $retval .= '">' . $this->prepareField($param['value']) . '</param>' . $this->eol;
  12.            
  13.             if (strpos($param['name'],'Гарантийный') !== false) {    // это мой код
  14.                 $retval .= '<guarantee>' . $this->prepareField($param['value']) . '</guarantee>';
  15.             }
  16.         }
  17.         return $retval;
  18.     }
  19.  



Цитата:

strpos ( string haystack, string needle [, int offset] )


strpos ( string ГДЕ, string ЧТО [, int offset] )
 
 Top
nikoshot
Отправлено: 11 Октября, 2018 - 11:21:56
Post Id


Гость


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


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




Спасибо попробую)
(Добавление)
nikoshot пишет:
strpos ( string haystack, string needle [, int offset] )

Спасибо.. заработало)
 
 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