php8.0 弱いマップを使用する
php8.0では、弱いマップを使用することができるようになったので、そのサンプルコードを記述してます。
環境
- OS CentOS Linux release 8.0.1905 (Core)
- php 8.0.0
弱いマップを使用(Weak Maps)
php7では以下のコードは、エラー「PHP Fatal error: Uncaught Error: Class ‘WeakMap’ not found in」となりますが、
<?php
$map = new WeakMap;
$obj = new stdClass;
$map[$obj] = 10;
var_dump($map);
unset($obj);
var_dump($map);
php8では、以下の結果を得ることが可能になりました。
<?php
$map = new WeakMap;
$obj = new stdClass;
$map[$obj] = 10;
var_dump($map);
// class WeakMap#1 (1) {
// public ${0} =>
// array(2) {
// 'key' =>
// class stdClass#2 (0) {
// }
// 'value' =>
// int(10)
// }
// }
// 解除
unset($obj);
var_dump($map);
// class WeakMap#1 (0) {
// }
-
前の記事
php chrでASCIIコードから文字列に変換する 2020.12.09
-
次の記事
php nl2brで改行の前にbrタグを挿入する 2020.12.09
コメントを書く