PHP Conference Japan 2023
採択
2023/10/08 11:20〜
トラック3 - 4F コンベンションホール 梅
レギュラートーク(25分)

PHP8.2から見る、2つの配列

app1e_s meihei app1e_s

PHPの配列(HashTable)は内部的には2つの実装で表現されています。1つはキーがそのまま添字となる配列、もう1つはハッシュ表を用いる連想配列です。
キーがそのまま添字となる配列(PackedArray)は、PHP8.2からzval構造体の配列となり、Bucket構造体が不要になりました。

このトークでは、PHP8.2におけるHashTableの解説と、HashTableからデータを探索する処理(zend_hash_lookup)、PackedArrayが通常の連想配列へ変換する処理(zend_hash_packed_to_hash)についての説明を行います。

対象者

  • php-srcに興味がある人
  • データ構造が好きな人

話さないこと

  • PHP≦8.1の話
  • 探索以外のHashTableの基本操作(追加・更新・削除)
  • (パフォーマンスなど)実用的な話