За последние 24 часа нас посетили 115947 программистов и 3042 робота. Сейчас ищут 1540 программистов ...

каким образом лучше обработать данные

Тема в разделе "PHP для новичков", создана пользователем bkm, 21 янв 2011.

  1. bkm

    bkm Активный пользователь

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    Есть строка

    PHP:
    1. $a = title:article:тут текст;title:article:тут текст;
    чтобы разобрать эту строку использую

    PHP:
    1. $a_tmp = explode(";", $a);
    2. for ($i = 0;$i < count($a_tmp); $i++) {
    3.  
    4.   // тут данные
    5.  
    6. }# end for
    Плюс ещё раскладываю по :
    В принципе ничего страшного, всё работает, но есть вопрос - Может быть лучше данные хранить в формате json?
    Что будет работать быстрее?
     
  2. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Храните в json и не парьтесь
     
  3. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    Не знаю зачем расскладывать..но можно вот так разложить

    PHP:
    1. <?php
    2.  
    3. ini_set('display_errors',1);
    4.  
    5. setlocale(LC_ALL, 'ru_RU.CP1251', 'rus_RUS.CP1251', 'Russian_Russia.1251');
    6.  
    7. $m ="title:article:тут текст;title:article:тут текст;";
    8.  
    9. $new=preg_split('/[;:]/si',$m);
    10.  
    11. print_r($new);
    12.  
    13.  
    14.   ?>
     
  4. bkm

    bkm Активный пользователь

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    данные заполняются в форме пользователем

    пример

    ряд 1 | тут значение | тут значение | тут значение | тут значение |
    ряд 2 | тут значение | тут значение | тут значение | тут значение |
    ряд 3 | тут значение | тут значение | тут значение | тут значение |

    значения не большие, вот думаю в каком виде их хранить в базе, что бы потом их оперативно без нагрузки разложить и показать пользователю.

    сейчас прикрутил класс json вроде работает. Вариант с preg_split тоже понравился.
     
  5. bkm

    bkm Активный пользователь

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    вышла загвоздка

    значения складываются в такую вот строку

    $test = "article": "1","name_row": "1","size": "1","pricerow": "1";"article": "2","name_row": "2","size": "2","pricerow": "2";

    далее

    PHP:
    1.  
    2. $test_tmp = explode(";", $test);
    3.  
    4. for ($i = 0;$i < count($test_tmp); $i++) {
    5.  
    6. if ($test_tmp[$i]!=""){
    7. $info = function_exists('json_decode') ? json_decode( $test_tmp[$i], TRUE ) : json_decode_from_class( $test_tmp[$i], TRUE );
    8. [color=green]// сам класс не буду выкладывать т.к. json_decode() работает[/color]
    9. }
    10.  
    11. $identity = trim($info['article'])." - ";
    12. $identity .= trim($info['name_row'])." - ";
    13. $identity .= trim($info['size'])." - ";
    14. $identity .= trim($info['pricerow'])."<br>";
    15.  
    16. }
    17. echo $identity;
    18.  
    кроме - (чёрточки) ничего не выводиться.
     
  6. bkm

    bkm Активный пользователь

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    вроде разобрался. всем спасибо.

    недоглядел {}

    PHP:
    1. $test = '{"article": "1","name_row": "1","size": "1","pricerow": "1"};{"article": "2","name_row": "2","size": "2","pricerow": "2"}';