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
Форумы портала PHP.SU :: Версия для печати :: Помогите вывести 1 параметр из масива
Форумы портала PHP.SU » » Вопросы новичков » Помогите вывести 1 параметр из масива

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

1. nikoshot - 09 Октября, 2018 - 14:12:00 - перейти к сообщению
Добрый день!
Есть масив кторый переберает характеристики
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.  

Нужна ваша помощь как это вставить в цикл..
2. nikoshot - 10 Октября, 2018 - 16:50:10 - перейти к сообщению
Не ужели ни кто не знает...???
Хелп!!
3. andrewkard - 10 Октября, 2018 - 17:03:45 - перейти к сообщению
nikoshot пишет:
как это вставить в цикл

Вставить код в тело цикла пробовали?
4. nikoshot - 10 Октября, 2018 - 17:18:43 - перейти к сообщению
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.  
5. andrewkard - 11 Октября, 2018 - 11:18:44 - перейти к сообщению
Хромает синтаксис:

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] )
6. nikoshot - 11 Октября, 2018 - 11:21:56 - перейти к сообщению
Спасибо попробую)
(Добавление)
nikoshot пишет:
strpos ( string haystack, string needle [, int offset] )

Спасибо.. заработало)

 

Powered by ExBB FM 1.0 RC1