Сериализованная строка в массив в PHP

#php

#php

Вопрос:

Я получаю строку из плагина сортировки пользовательского интерфейса jQuery, он выдает мне строку, подобную этой

 items[]=1amp;items[]=2amp;items[]=3
  

Как я могу преобразовать ее в реальный массив?

Я думал заменить amp; на ; и утвердить это. Есть предложения получше?

Комментарии:

1. Вы должны получить это как $_POST или $ _GET, как вы вообще отправляете выходные данные sortable на свой php в первую очередь?

Ответ №1:

Вы ищете parse_str() .

Анализирует str так, как если бы это была строка запроса, переданная через URL, и устанавливает переменные в текущей области видимости.

Например:

 $str = "first=valueamp;arr[]=foo baramp;arr[]=baz";
parse_str($str);
echo $first;  // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz
  

Вы также можете указать массив для хранения результатов, если вы не хотите загрязнять свою область:

 parse_str($str, $output);
echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz
  

Ответ №2:

Используйте parse_str 🙂

Комментарии:

1. @Phoenix Я думаю, что там наверняка есть ссылка на документ php 🙂

Ответ №3:

 // I am assuming you are getting this value from post or get method;

$string = implode(";", $_REQUEST['items']);
echo $string;