2
當我談到php時,我非常青澀,所以這裏有一個基本的問題,我還沒有找到答案。php array多維索引
我通過進行正則表達式匹配從頁面中提取重複信息,如下所示。正則表達式有兩個捕獲組(...),因此$matches
數組的索引範圍從0(完整正則表達式值)到2(1和2是捕獲組值)。
<?php
$page = file_get_contents(url);
preg_match_all(regex-with-two-capturing-groups, $page, $matches);
$m1 = $matches[1];
$m2 = $matches[2];
for ($i=0; $i < sizeof($m1); $i++) {
echo ("<tr><td>$m1[$i]</td><td>$m2[$i]</td></tr>");
}
?>
這工作得很好,但一開始我嘗試了較短的版本:
<?php
$page = file_get_contents(url);
preg_match_all(regex-with-two-capturing-groups, $page, $matches);
for ($i=0; $i < sizeof($matches[0]); $i++) {
echo ("<tr><td>$matches[1][$i]</td><td>$matches[2][$i]</td></tr>");
}
?>
,但是這導致
<tr><td>Array[0]</td><td>Array[0]</td></tr>
<tr><td>Array[1]</td><td>Array[1]</td></tr>
<tr><td>Array[2]</td><td>Array[2]</td></tr>
<tr><td>Array[3]</td><td>Array[3]</td></tr>
<tr><td>Array[4]</td><td>Array[4]</td></tr>
...
這是爲什麼?
有沒有辦法在一個表達式中進行二維索引,而不必定義中間數組m1和m2?
好吧,就這樣。 (點)是一種字符串連接運算符? – Maestro13
@ Maestro13:確切地說是 – rkosegi
爲什麼「$ m1 [$ i]」工作,但「$匹配[1] [$ i]」不是? – Maestro13