preg_match
とサブパターンを使用すると、常に同じデータ(サブパターン名とタグ付きタグ付き)を持つダブルキー配列が返されます。私は1行あたり数キロバイトの行を照合しているので、数字配列が余分なメモリを占有しているのではないかと思います。番号タグ配列を返さないようにする適切な方法はありますか?番号付き配列を持たないPHPサブパターン
例:
<?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>.*?)[email protected]', $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.
)
)
コード例を示してください。 – deceze
入力と出力の例が役に立ちます。 – Jack
は、私の質問を理解していない人のサンプル入力と出力を編集しました。 –