На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Serafim, fatalist
  
    > Помогите с задачей
      У меня есть текст в переменной $text, он в себе содержит подобную информацию
      book=dsdsd author=ffsfsdf page=322

      Как мне лучше всего занести это в именованный массив?
      Меня попросили узнать.

      Ну тоесть, чтобы у меня была переменная $a и я к любому полю мог обращаться, как к $a['book'] или $a['page']
        Лучше всего - regular expressions (http://php.net/preg_replace)

        Добавлено в :
        PS. Лучше - это не значит легче %)

        Попробуй еще вот это: http://php.net/explode
          Да, об этом мне говорили, но что-то я не втираю...как их тут применить :(
            ExpandedWrap disabled
               
              function _array_combine($arr1, $arr2) {
                  $res = array();
                  $c = count($arr1);
                  for ($i = 0; $i < $c; $i++)
                  {
                      $res[$arr1[$i]] = isset($arr2[$i]) ? $arr2[$i] : null;
                  }//for
                  return($res);
              }//function
               
              preg_match_all("[//s]?([_a-z][_a-z0-9]*)=([^&]*)[//s]/i", $query, $regs);
              $keys = $regs[1];
              $values = $regs[2];
              $res = _array_combine($keys, $values);


            В РНР5 можно использовать ф-цию array_combine(), а в РНР4 её надо писать.
            Сообщение отредактировано: Rom@nych -
              SER-Gun, а на чем тебе на до?(язык)
                А я такое делаю с помощью разделения по символу:

                $mas = split(" ", $text);

                потом каждую разделяешь по "=" и записываешь куда нужно.

                Добавлено в :
                ExpandedWrap disabled
                  $mas = split(" ", $text);
                   
                  for($i=0; $i<count($mas); $i++)
                  {
                  $mas2 = split("=", $mas[$i]);
                  // и тут записываешь каждую из двух частей $mas2[] куда тебе нужно.
                  }
                Сообщение отредактировано: diMMer -
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0280 ]   [ 15 queries used ]   [ Generated: 28.04.24, 10:11 GMT ]