01/10/2018, 16:54
Biến trong php?
em có 1 số thắc mắc về biến trong php
- có phải tất cả biến trong php đều là biến kiểu tham chiếu ( giống như ruby tất cả biến đều là đối tượng ) ?
- trong java có các kiểu dữ liệu không thể thay đổi giá trị , trong php có điều này không ạ ( vd : Java int , string là kiểu dữ liệu không thể thay đổi giá trị mỗi lần ta thay đổi thì thực chất nó tạo ra 1 literal trong pool )
- hơi ngoài lề xíu @@ các kiểu dữ liệu nguyên thủy trong java thì giá trị nó được lưu ngay tại biến luôn hay là tham chiếu đến pool ( kiểu như biến chỉ như con trỏ và giá trị con trỏ trỏ đến vùng nhớ trên pool )
Bài liên quan
hóng câu trả lời vì quan tâm cùng chủ đề
Không. Nếu muốn khai báo biến kiểu tham chiếu bạn phải thêm dấu & trước. VD:
Khi bạn khai báo biến, php sẽ gán giá trị cho biến đó. Nếu bạn gán 1 biến khác = biến đấy và thay đôi giá trị 1 trong 2. Thì biến còn lại vẫn không bị ảnh hưởng (trừ khi có reference ‘&’).
PHP linh hoạt khi khai báo biến nên sẽ tự động ép kiểu. VD:
Kể cả bạn có đổi giá trị, nó vẫn tự động ép thành kiểu của giá trị mới. Tất nhiên là bạn vẫn có thể ép kiểu:
Mình làm php nên không thể trả lời chính xác được câu hỏi này cho bạn nhờ người khác vậy. Bạn hiểu thế này. Khi khai báo 1 biến nó sẽ ghi địa chỉ biến đấy vào RAM và giá trị được tham chiếu qua cái địa chỉ đấy. Nếu bạn gán tham chiếu 1 biến khác đến biến đấy thì nó sẽ gán cùng 1 địa chỉ. Nếu gán tham trị nó sẽ tạo địa chỉ khác và copy giá trị của biến kia sang.
Có gì sai các bác jav góp ý cho mình :))