2011-12-30 31 views
46

Tôi muốn tạo 5 biến loại mảng cùng một lúc. Điều này có thể không? Trong Java tôi biết bạn có thể, nhưng không thể tìm thấy bất cứ điều gì về PHP. Tôi muốn làm một việc như sau:Bạn có thể gán nhiều biến cùng một lúc trong PHP như bạn có thể với Java không?

$var1, $var2, $var3, $var4, $var5 = array(); 
+1

[liên quan] (http://stackoverflow.com/questions/6257131/multiple-variable -giao dịch) –

+1

@DavidThomas Nó sẽ không hoạt động. –

+4

Chỉ cần thêm vào các câu trả lời, nếu bạn làm điều này với các mảng, mỗi biến sẽ là các mảng * khác biệt * đã được khởi tạo cho cùng một điều, không tham chiếu đến cùng một mảng đơn lẻ. [Ví dụ] (http://codepad.org/5FQHs3N0) – jprofitt

Trả lời

80

Có, bạn có thể.

$a = $b = $c = $d = array(); 
9
$var1 = $var2 = $var3 = $var4= $var5 = array(); 
14
$c = $b = $a; 

tương đương với

$b = $a; 
$c = $b; 

do đó:

$var1 = $var2 = $var3 = $var4= $var5 = array(); 
+3

Câu trả lời của bạn gây nhầm lẫn Tương đương phải là: $ b = $ a; $ c = $ a; – valiD

+0

'$ x = [1,2]; $ y = [5,6]; '' $ x [] = $ y [] = 0; 'theo câu trả lời của bạn $ x sẽ trở thành _ [1,2, [5,6,0]] _ kết quả thực tế là ** [1,2,0] ** tức là, '$ c = $ a;' –

+1

Ví dụ ở trên không sử dụng phép gán như được nêu trong ví dụ ban đầu mà là một phép đẩy mảng. Giá trị trả về cho phép đẩy mảng là giá trị được đẩy, không phải mảng được đẩy vào. Khi bạn thực hiện một phép gán, giá trị trả về từ phép gán là biến được gán. Hoặc để đặt nó theo một cách khác, một mảng đẩy trả về phía bên phải, một nhiệm vụ trả về phía bên trái (mà bằng với bên phải anyway). Vì vậy, trong ví dụ của bạn, việc đẩy mảng phải trả về số không được đẩy sang gán bên trái. Bạn có thể thấy rằng giá trị cuối cùng của '$ y' cũng có' 0' được đẩy lên. – DjB

Các vấn đề liên quan