サブパターンで使用preg_match
すると、常に同一のデータを持つダブルキー配列が返されます。1つはサブパターン名で、もう1つは番号でタグ付けされています。1行あたり数キロバイトの数十万行を照合しているため、数値配列が余分なメモリを占有しているのではないかと心配しています。番号タグ配列が戻らないようにする適切な方法はありますか?
例:
<?php
header('Content-Type: text/plain');
$data = <<<START
I go to school.
He goes to funeral.
START;
preg_match_all('@^(?<who>.*?) go(es)* to (?<place>.*?)$@m', $data, $matches);
print_r($matches);
?>
出力:
Array
(
[0] => Array
(
[0] => I go to school.
[1] => He goes to funeral.
)
[who] => Array
(
[0] => I
[1] => He
)
[1] => Array
(
[0] => I
[1] => He
)
[2] => Array
(
[0] =>
[1] => es
)
[place] => Array
(
[0] => school.
[1] => funeral.
)
[3] => Array
(
[0] => school.
[1] => funeral.
)
)