2011-11-16 4 views
5

Tôi đang tìm một cái gì đó giống như đối diện của trích xuất().PHP - Các tên biến là Các phím Array

Nói rằng tôi có một vài biến

$state = "FL"; 
$city = "Hollywood"; 
$zip = "33021"; 

Làm thế nào tôi có thể làm cho một mảng có sử dụng tên của các biến như các phím mảng:

array("state"=>"FL", "city"=>"Hollywood", "zip"=>"33021"); 

Trả lời

7

Bạn nên sử dụng chức năng compact() mặc dù. Chẳng hạn như:

$state = "FL"; 
$city = "Hollywood"; 
$zip = "33021"; 
$array = compact('state', 'city', 'zip'); 

Chỉnh sửa: Dường như làm chính xác những gì bạn cần, không biết tại sao bạn không nghĩ mình cần. Nếu bạn đang tìm kiếm một cái gì đó chính xác đối diện với extract(), chẳng hạn như lấy tất cả các biến có sẵn và đặt chúng vào một mảng, bạn không thể làm điều đó, vì PHP theo nghĩa đen sẽ thực hiện tất cả các biến số trong phạm vi hiện tại và đặt chúng vào mảng. Bạn phải xác định các biến nào đó bằng cách nào đó.

+0

Tôi không chắc liệu bạn có đúng hay không .. nhưng bạn có nhận ra rằng anh ta đã nói rõ ràng trong câu hỏi là NOT 'compact()' đúng không? –

+0

@Greg: Vâng, tôi quên bao gồm lời giải thích của tôi ... – animuson

+0

compact() có một nhược điểm, trong đó hầu hết các IDE sẽ không nhận ra có một tham chiếu ẩn đối với các biến đó. –