配列が PHP で再帰的かどうかを確認する最良の方法は何ですか?
次のコードがあるとします。
<?php
$myarray = array('test',123);
$myarray[] = &$myarray;
print_r($myarray);
?>
PHPマニュアルから:
print_r() は、配列の 3 番目の要素に到達するとRECURSIONを表示します。
再帰参照のために配列をスキャンする他の方法はないようです。そのため、再帰参照を確認する必要がある場合は、2 番目のパラメーターを指定して print_r() を使用して出力をキャプチャし、RECURSIONという単語を探す必要があります。 .
よりエレガントなチェック方法はありますか?
PS。これは、正規表現とprint_r()を使用して再帰配列キーをチェックして取得する方法です
$pattern = '/\n \[(\w+)\] => Array\s+\*RECURSION\*/';
preg_match_all($pattern, print_r($value, TRUE), $matches);
$recursiveKeys = array_unique($matches[1]);
ありがとう