(PHP 7 >= 7.4.0, PHP 8)
ReflectionReference::getId — リファレンスのユニークなIDを取得する
リファレンスが生きている間、リファレンス単位でユニークなIDを返します。 このIDは同じリファレンスであるかを比較するのに使えますし、 既知のリファレンスのマッピングを管理するのにも使えます。
この関数にはパラメータはありません。
文字列を返します。フォーマットは決まっていません。
例1 ReflectionReference::getId() の基本的な使い方
<?php
$val1 = 'foo';
$val2 = 'bar';
$arr = [&$val1, &$val2, &$val1];
$rr1 = ReflectionReference::fromArrayElement($arr, 0);
$rr2 = ReflectionReference::fromArrayElement($arr, 1);
$rr3 = ReflectionReference::fromArrayElement($arr, 2);
var_dump($rr1->getId() === $rr2->getId());
var_dump($rr1->getId() === $rr3->getId());
?>
上の例の出力は以下となります。
bool(false) bool(true)