Есть ли способ исследовать непосредственно массив в массиве, не проходя мимо первого? - PullRequest
0 голосов
/ 18 марта 2019

Я использую preg_match_all (), чтобы получить совпадения параметров моего URL. Проблема в том, что функция соответствия отправляет мне обратно массив массивов. Поэтому стало трудно исследовать его с помощью функции foreach (например, для замены параметров параметрами по умолчанию).

Есть ли способ исследовать массив массивов и отправлять обратно значение второго массива, а не первого, без прохождения первым?

Я приведу вам простой пример моей проблемы:

$var = "abababa";

preg_match_all("#(a)#", $var, $matches);

$args = array_slice ($matches, 1);

var_dump($args) 

arg верните мне:

array (size=1)
  0 => 
    array (size=5)
      0 => string 'a' (length=1)
      1 => string 'a' (length=1)
      2 => string 'a' (length=1)
      3 => string 'a' (length=1)

И я бы хотел, чтобы он мог вернуться только

   array (size=5)
      0 => string 'a' (length=1)
      1 => string 'a' (length=1)
      2 => string 'a' (length=1)
      3 => string 'a' (length=1)

Поэтому для возможности замены элементов args на othes (например, элементы по умолчанию).

Спасибо, если вы можете мне помочь.

1 Ответ

0 голосов
/ 18 марта 2019

Вы можете просто сделать это:

$var = "abababa";

preg_match_all("#(a)#", $var, $matches);

$args = array_slice ($matches[0], 1); // notice we are accessing the first element of $matches

var_dump($args);

Это должно дать желаемый результат.

...