2013-07-23 35 views
5

Simple PHP câu hỏi:chức năng làm tổ trong PHP

Tại sao tác phẩm này,

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

nhưng điều này không.

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

Chỉnh sửa: Cả hai được sử dụng để làm việc trong phiên bản PHP trước (Tôi quên phiên bản nào).

Trả lời

10

array_pop yêu cầu tham chiếu vì nó thay đổi mảng tại chỗ. Khi bạn vượt qua giá trị trả lại của explode, không có biến nào để tham chiếu.

+0

Tại sao nó hoạt động trong các phiên bản trước của PHP? – Ameer

+0

+1 cho câu trả lời hoàn hảo :) – dreamweiver

+0

@Ameer Nó không hoạt động trong các phiên bản trước của PHP. Nó chưa bao giờ làm việc. –