PHPでは、連想配列はハッシュテーブルとして実装され、機能が少し追加されています。
ただし、技術的に言えば、連想配列はハッシュテーブルと同一ではありません。部分的には、舞台裏でハッシュテーブルを使用して実装されているだけです。その実装のほとんどはハッシュテーブルであるため、ハッシュテーブルが実行できるすべてのことを実行できますが、それ以上のことも実行できます。
たとえば、forループを使用して連想配列をループすることができますが、これはハッシュテーブルでは実行できません。
したがって、それらは似ていますが、連想配列は実際にはハッシュテーブルが実行できることのスーパーセットを実行できます。したがって、それらはまったく同じものではありません。ハッシュテーブルと追加機能と考えてください。
コード例:
連想配列をハッシュテーブルとして使用する:
$favoriteColor = array();
$favoriteColor['bob']='blue';
$favoriteColor['Peter']='red';
$favoriteColor['Sally']='pink';
echo 'bob likes: '.$favoriteColor['bob']."\n";
echo 'Sally likes: '.$favoriteColor['Sally']."\n";
連想配列をループする:
$idTable=array();
$idTable['Tyler']=1;
$idTable['Bill']=20;
$idTable['Marc']=4;
foreach($idTable as $person=>$id)
echo 'id: '.$id.' | person: '.$person."\n";
特に、2番目の例では、配列に入力された順序に基づいて、各要素の順序が維持されていることに注意してください(Tyler、Bill Marc)。これは、連想配列とハッシュテーブルの主な違いです。ハッシュテーブルは、保持しているアイテム間の接続を維持しませんが、PHP連想配列は維持します(PHP連想配列を並べ替えることもできます)。