Understanding hash tables
In programming language, a hash table is a data structure which is used to make an array associative. It means we can use keys to map values instead of using an index. A hash table must use a hash function to compute an index into an array of buckets or slots, from which the desired value can be found:

As we have mentioned several times, a PHP array is actually a hash table and hence it supports associative arrays. We need to remember one thing: that we do not need to define a hash function for the associative array implementation. PHP does it internally for us. As a result, when we create an associative array in PHP, we are actually creating a hash table. For example, the following code can be considered as the hash table:
$array = []; $array['Germany'] = "Position 1"; $array['Argentina'] = "Position 2"; $array['Portugal'] = "Position 6"; $array['Fifa_World_Cup'] = "2018 Russia";
As a matter of fact, we can directly invoke any keys with only O(1) complexity...