Trong PHP, HashMap chính là array (mảng). PHP không có class HashMap riêng như Java, nhưng array của PHP thực chất là một hash table.
HashMap là cấu trúc dữ liệu:
Ví dụ logic:
hash("user_id_10") → 123456 → lưu vào bucket 123456
Khi lấy lại:
hash("user_id_10") → 123456 → đọc bucket 123456
Nên không cần duyệt toàn bộ dữ liệu.
Ví dụ PHP:
$users = [
"user1" => "Long",
"user2" => "Nam",
"user3" => "Hà"
];
echo $users["user2"];
PHP sẽ làm:
hash("user2") → bucket → lấy value
Không phải tìm từ đầu mảng.
Ưu điểm:
$users['abc']
$product['iphone'] $config['db_host']
$data[1000] $data[900000]
PHP dùng:
HashTable
Cấu trúc:
array ├── bucket │ ├── key │ ├── hash │ └── value ├── bucket └── bucket
Ví dụ:
"user1" → hash → bucket 5 "user2" → hash → bucket 8 "user3" → hash → bucket 2
$cache[$user_id] = $user_data;
$posts_by_category[$category_id][] = $post;
$config['db_host'] = 'localhost';
Rất nhiều hệ thống lớn dùng hash table làm lõi:
HashMap = truy cập gần như O(1)