5

简单的PHP问题:

为什么这行得通,

$exclude_exts = array('js', 'css',);
$filename = "test.css";
$ext = explode('.',$filename);
$is_excluded = in_array(strtolower(array_pop($ext)), $exclude_exts);

但事实并非如此。

$exclude_exts = array('js', 'css',);
$filename = "test.css";
$is_excluded = in_array(strtolower(array_pop(explode('.',$filename))), $exclude_exts);

编辑:两者都曾经在以前版本的 PHP 中工作(我忘记了哪个版本)。

4

1 回答 1

10

因为array_pop需要一个引用,因为它改变了数组。当您传递返回值时,explode没有可供参考的变量。

于 2013-07-23T13:14:43.997 回答