Tôi đã sử dụng PHP khá lâu rồi, nhưng chưa bao giờ là lập trình viên nâng cao. Tôi cảm thấy như đây là câu hỏi ngớ ngẩn nhưng không bao giờ hiểu tại sao một số giá trị mảng có thể được lấy ra bằng các phương pháp khác nhau:PHP truy xuất giá trị mảng bằng cách sử dụng mũi tên dấu gạch ngang "->"
này:
$array->value
chứ không phải là bình thường:
$array['value']
Các tiêu chuẩn $ array [ 'value'] luôn hoạt động, nhưng phương thức sử dụng -> không có lúc. Tại sao vậy?
Đây là một ví dụ. Tôi đang sử dụng Zend Framework 2 và tôi có thể lấy một giá trị phiên sử dụng -> Phương pháp:
$this->session->some_value
Tuy nhiên, tôi không thể nếu tôi làm một mới, mảng bình thường:
$array = array('some_value' => 'myvalue');
$array['some_value']; // works!!
$array->some_value; // does not work :(
Trong Zend Framework 1 hầu hết các mảng sẽ làm việc tốt theo cách này, và trong ZF2 nhiều hơn và nhiều hơn nữa, tôi chạy vào các vấn đề mà tôi cần phải thay đổi cách tôi nhận được giá trị đó. Điều này có hợp lý không? Tôi chắc chắn đánh giá cao sự giúp đỡ nào. Cảm ơn, Greg
Nhờ tất cả các câu trả lời tuyệt vời. Bạn hoàn toàn đúng về những gì tôi đang tìm kiếm. Voitcus (bên dưới) có chìa khóa để giúp tôi hiểu rõ hơn. Cảm ơn bạn, tất cả mọi người, vì sự giúp đỡ! – gregthegeek