Là một lập trình viên PHP, tôi sử dụng các mảng cho tất cả mọi thứ. Tôi biết SPLFixedArray có thể hữu ích trong một số trường hợp nhất định và tôi biết PHP arrays aren't very memory efficient, nhưng tôi hiếm khi gặp phải các trường hợp thực tế nơi họ đấu tranh để làm những gì tôi cần.Các đặc tính của loại mảng của PHP là cấu trúc dữ liệu là gì?
Điều này trái ngược với khi tôi làm việc trong Java, nơi tôi thấy nó hoàn toàn quan trọng là tôi hiểu chính xác cấu trúc dữ liệu tôi đang sử dụng, và ưu và khuyết điểm của mỗi cấu trúc. Nếu ai đó đề nghị tôi chỉ sử dụng LinkedHashMap cho mọi thứ trong Java, họ sẽ bị cười ra khỏi tòa nhà.
Vậy làm thế nào chúng ta có thể thoát ra với kỹ thuật nhanh và lỏng lẻo như vậy trong PHP? Các chi tiết cụ thể cơ bản của mảng PHP là gì? Nó thường được mô tả là "một bản đồ có thứ tự", nhưng điều đó khiến rất nhiều việc thực hiện còn lại để đầu cơ.
Một số trường hợp sử dụng Mảng PHP là đặc biệt tốt ở? Một số trường hợp sử dụng dường như thẳng về phía trước có vẻ là các mảng PHP thực sự là khá xấu tại? Ví dụ: tôi giả sử có một số loại xử lý tốt hơn các mảng có khóa số nguyên dày đặc (ví dụ: $arr = array('a','b','c','d','e');
) so với bản đồ băm được đặt hàng, nhưng sau đó ranh giới giữa mật độ dày đặc và thưa thớt ở đâu? Do mảng trở nên kém hiệu quả hơn ngay khi tôi giới thiệu ngay cả một khóa không được đặt hàng, chẳng hạn như $arr[10] = 'f';
? Điều gì về $arr[1000000] = 'g';
? Tôi giả sử PHP không cư trú ~ 1 triệu khe cắm inbetween, nhưng nếu đó là một danh sách liên kết dưới nắp, sau đó có lẽ gọi $arr[rand()] = rand();
nhiều lần sẽ phải làm một số sắp xếp lại sau mỗi chèn?
Bất kỳ câu trả lời nào khám phá các chi tiết cơ bản của mảng PHP đều được chào đón, ngay cả khi nó không giải quyết các câu hỏi cụ thể mà tôi nêu ra.
Vì không ai mong PHP hoạt động tốt? –
Trên thực tế, [không có sắp xếp lại liên quan] (http://codepad.org/V0Y9K9MZ). Khi bạn gán cho một khóa không tồn tại, nó sẽ được đặt ở cuối mảng. – Ryan
Tôi ngạc nhiên vũ trụ đã không khởi động lại sau khi một người nào đó sử dụng 'PHP' và' strengths' trong cùng một câu. –