PHPの配列(HashTable)は内部的には2つの実装で表現されています。1つはキーがそのまま添字となる配列、もう1つはハッシュ表を用いる連想配列です。
キーがそのまま添字となる配列(PackedArray)は、PHP8.2からzval構造体の配列となり、Bucket構造体が不要になりました。
このトークでは、PHP8.2におけるHashTableの解説と、HashTableからデータを探索する処理(zend_hash_lookup)、PackedArrayが通常の連想配列へ変換する処理(zend_hash_packed_to_hash)についての説明を行います。