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 に答える