preg_match_all vs. explode

时间:2014-06-08 12:33:27

标签: php explode preg-match-all

为什么以下两个php代码不会返回相同的内容?

代码1:

$words = "music band sound";
preg_match_all("/\w+/", strtoupper($words), $matches);
$words = $matches[0];

和代码2:

$words = "music band sound";
$woerter  = strtoupper($words);
$teile = explode(" ", $woerter);
$words = $teile[0];

你能帮帮我吗?

谢谢!

3 个答案:

答案 0 :(得分:2)

因为$teile是第二个示例中的单词数组,$words = $teile[0];只是从该数组中获取第一个条目/单词。而第一个示例中的$words是完整数组。

答案 1 :(得分:0)

为什么$teile[0]?你想要$teile

答案 2 :(得分:0)

Preg_match_all返回一个数组数组。匹配[0]包含与/ w + /匹配的所有模式。您可以使用匹配[0] [0]来获取"音乐"。

因此,在firat示例中匹配[0]是第二个中的tiele等效。

http://us1.php.net/preg_match_all