ここで同様の質問を見つけましたが、私のシナリオには正確ではありませんでした。私は比較的 PHP に慣れていませんが、*preg_match_all* のマニュアルを読みました。
日付を見つけるためにページを解析しています。常に同じ形式です (例: 13 Apr 2012 )。これは私の *preg_match_all* ステートメントです:
$eventDateRegex = '/[0-9]{2}\s[A-Z]{1}[a-z]{2}\s[0-9]{4}/';
preg_match_all($eventDateRegex, $parsedEvent, $eventDates[$i]);
$iはforループ内にあるため、単なる反復子です。$eventDatesで正しい結果を受け取っていますが、ネストが 1 レベル深すぎるようです。
私の結果は次のようになります。
array
0 =>
array
0 =>
array
0 => string '19 Apr 2012' (length=11)
1 => string '24 May 2012' (length=11)
1 =>
array
0 =>
array
0 => string '21 Apr 2012' (length=11)
1 => string '30 Jun 2012' (length=11)
一方、私はそれが好きです:
array
0 =>
array
0 => string '19 Apr 2012' (length=11)
1 => string '24 May 2012' (length=11)
1 =>
array
0 => string '21 Apr 2012' (length=11)
1 => string '30 Jun 2012' (length=11)
これは可能ですか、それとも *preg_match_all* が多次元配列を吐き出す方法のためですか?