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

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

1. swordfish - 18 Октября, 2009 - 17:27:37 - перейти к сообщению
Всем привет. Вот обрабатываю 3 варианта цен, которые хранятся в базе:
CODE (text):
скопировать код в буфер обмена
  1. <?php
  2.   $str = '<span class="price">220, 180, 120</span> <u><b>грн.</b></u>';
  3.   $pattern = '|<span class=\"price\">(.*?)</span>|';
  4.   preg_match_all($pattern, $str, $out);
  5.   echo "<pre>";
  6.   print_r($out);
  7.   echo "</pre>";
  8. ?>
  9.  
  10. <?php
  11.   $str = '<b>от</b> <span class="price">120</span> <u><b>грн.</b></u>';
  12.   $pattern = '|<span class=\"price\">(.*?)</span>|';
  13.   preg_match_all($pattern, $str, $out);
  14.   echo "<pre>";
  15.   print_r($out);
  16.   echo "</pre>";
  17. ?>
  18.  
  19. <?php
  20.   $str = '<b>от</b> <span class="price">150</span> <b>до</b> <span class="price">250</span> <u><b>грн.</b></u>';
  21.   $pattern = '|<span class=\"price\">(.*?)</span>|';
  22.   preg_match_all($pattern, $str, $out);
  23.   echo "<pre>";
  24.   print_r($out);
  25.   echo "</pre>";
  26. ?>

Вот как выглядит вывод:
CODE (text):
скопировать код в буфер обмена
  1. Array
  2. (
  3.     [0] => Array
  4.         (
  5.             [0] => 220, 180, 120
  6.         )
  7.  
  8.     [1] => Array
  9.         (
  10.             [0] => 220, 180, 120
  11.         )
  12.  
  13. )
  14.  
  15. Array
  16. (
  17.     [0] => Array
  18.         (
  19.             [0] => 120
  20.         )
  21.  
  22.     [1] => Array
  23.         (
  24.             [0] => 120
  25.         )
  26.  
  27. )
  28.  
  29. Array
  30. (
  31.     [0] => Array
  32.         (
  33.             [0] => 150
  34.             [1] => 250
  35.         )
  36.  
  37.     [1] => Array
  38.         (
  39.             [0] => 150
  40.             [1] => 250
  41.         )
  42.  
  43. )

Как мне отличить допустим первый вывод от второго? т.к. они разные..первый содержит значение "фиксированый", а второй "от"...все мне это нужно для заполнения полей на форме...т.е. выбираю изделие и из базы дергает значение цены, и это значение сперва очищается от хтмл кода и потом должно поместится в соответствующие поле...а их 3....
1-е для "фиксированного" значения
2-е для "от"
3-е для "до"
Прошу помощи.
2. Viper - 19 Октября, 2009 - 08:49:07 - перейти к сообщению
создавайте ассоциированный массив.
т.е. нечто вида

PHP:
скопировать код в буфер обмена
  1. $array = array('fixed'=>array('100', '200'), 'floated'=>array('156.4', '212.56'));

 

Powered by ExBB FM 1.0 RC1