2012-09-20 32 views
12

Trong các ngôn ngữ lập trình khác định nghĩa mảng là một thứ có thể chứa các loại phần tử tương tự. Ví dụ nếu tôi khai báo một cái gì đó như int i[] nó sẽ lưu trữ số nguyên, nhưng trong PHP một mảng duy nhất có vẻ là giữ dây và số với nhau.Các mảng PHP có thể chứa các mục thuộc loại khác nhau không?

Số/số nguyên có được coi là chuỗi trong loại mảng đó trong PHP không?

+0

http://technosophos.com/content/php-arrays-are-not-arrays –

+1

Tại sao bạn không cung cấp cho nó một shot và cho chúng tôi biết? :) (Ngoài ra, trông giống như một câu hỏi SO hơn là một câu hỏi P.SE) – haylem

Trả lời

9

According to the PHP manual bạn thực sự có thể lưu trữ các loại không đồng nhất bên trong một "mảng" PHP - di chuyển xuống để dụ 3.

Lưu ý rằng mặc dù ví dụ này là về các phím là ints hoặc các chuỗi, các giá trị được gán trong ví dụ này cũng có cả ints và strings, chứng minh rằng có thể lưu trữ các loại không đồng nhất.

Xin lưu ý rằng trong trường hợp các phím được nhập khác nhau, tính năng truyền tự động được liên quan để bạn có thể có kết quả đáng ngạc nhiên trong trường hợp, ví dụ: một chuỗi chứa một biểu diễn thập phân hợp lệ.

+1

Bạn đúng, nhưng câu hỏi là về việc lưu trữ các loại giá trị khác nhau, không phải là khóa. Không chắc chắn tại sao điều này đã được downvoted mặc dù. – phant0m

+0

@ phant0m - Tôi thực sự đã bỏ lỡ tiêu đề của ví dụ hoàn toàn, tôi đã nhìn vào phía bên tay phải của ví dụ đó. Trả lời rõ ràng, cảm ơn bạn. –

2

Trong mảng PHP thậm chí không là mảng, chúng được sắp xếp theo thứ tự bảng băm.

+0

Các bảng băm được sắp xếp tốt là các mảng kết hợp, vì vậy mảng mảng _are_ mảng PHP. Không biết định nghĩa của mảng bạn có trong tâm trí, nhưng giới hạn mà mảng chỉ có thể chứa các mục cùng loại là một giới hạn ngôn ngữ, không phải là một khái niệm. – yannis

+3

@YannisRizos Tôi đề nghị bạn đọc bài đăng này để xem tại sao mọi người không coi mảng php là mảng thực sự http://technosophos.com/content/php-arrays-are-not-arrays Nó không chỉ về loại, nó cũng về thứ tự (không tồn tại trong PHP) –

+0

Không phải là một mảng một datastructure, nơi mà tất cả các giá trị có cùng kích thước và đặt hàng một sau khi một trong bộ nhớ? Những gì bạn đang đề cập đến âm thanh như một từ điển/bản đồ với tôi. Điều duy nhất tôi biết, rằng các mảng kết hợp có chung với các mảng thực là một phần của tên. –

0

Bạn có thể lưu trữ bất kỳ thứ gì bạn muốn trong một mảng.

Số lượng/số nguyên có được coi là chuỗi trong loại mảng đó trong PHP không?

Không lưu trữ. Tuy nhiên, khi bạn sử dụng một giá trị như vậy, PHP sẽ chuyển đổi giá trị đó. Việc sử dụng một giá trị xác định cách giải thích của nó. (Chú ý, chìa khóa được chuyển đổi khi lưu trữ, tuy nhiên, nếu nó được coi là số)

1

Sẽ không đặt dầu vào lửa của mảng PHP không có mảng ở đây ... Nhưng có, bạn có thể đặt các loại biến khác nhau (string, int,…) cùng nhau trong một điều PHP được gọi là Array.

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