Это должно делать то, что вы хотите.По сути, он продолжает разбивать url
, сначала на ?
, чтобы получить строку запроса, затем на &
, чтобы получить отдельные пары ключ / значение, а затем каждую из этих пар на =
, чтобы получить ключ изначение.Если ключ соответствует строке поиска, он добавляется в выходной массив.
function getToArray($url, $key) {
$values = array();
list (, $query_string) = explode('?', $url, 2);
foreach (explode('&', $query_string) as $param) {
list($k, $v) = explode('=', $param, 2);
if ($k == $key) $values[] = $v;
}
return $values;
}
print_r(getToArray($url, 'test1'));
print_r(getToArray($url, 'test2'));
Вывод:
Array ( [0] => a [1] => c [2] => e [3] => g [4] => i )
Array ( [0] => b [1] => d [2] => f [3] => h [4] => j )
Демонстрация на 3v4l.org