- <?php 
-   
- $recursive['recursive'] = &$recursive; 
-   
- $nonrec[] = $nonrec; // not recursive, this is a static copy of the array 
-   
-   
- echo (int)is_recursive($recursive)."\n"; 
- echo (int)is_recursive($nonrec)."\n"; 
-   
-   
- function-  is_recursive (array &$array) {
 
-     static $uniqueObject; 
-     if (!$uniqueObject) { 
-         $uniqueObject = new stdClass; 
-     } 
-   
-     foreach ($array as &$item) { 
-             continue; 
-         } 
-   
-         $item[] = $uniqueObject; 
-         $isRecursive = end($array) === $uniqueObject; 
-         if ($isRecursive) { 
-             return true; 
-         } 
-     } 
-   
-     return false; 
- } 
-   
-   
				PD9waHAKCiRyZWN1cnNpdmUgPSBhcnJheSg0Mik7CiRyZWN1cnNpdmVbJ3JlY3Vyc2l2ZSddID0gJiRyZWN1cnNpdmU7Cgokbm9ucmVjID0gYXJyYXkoNDIpOwokbm9ucmVjW10gPSAkbm9ucmVjOyAvLyBub3QgcmVjdXJzaXZlLCB0aGlzIGlzIGEgc3RhdGljIGNvcHkgb2YgdGhlIGFycmF5CgoKZWNobyAoaW50KWlzX3JlY3Vyc2l2ZSgkcmVjdXJzaXZlKS4iXG4iOwplY2hvIChpbnQpaXNfcmVjdXJzaXZlKCRub25yZWMpLiJcbiI7CgoKZnVuY3Rpb24gaXNfcmVjdXJzaXZlKGFycmF5ICYkYXJyYXkpIHsKICAgIHN0YXRpYyAkdW5pcXVlT2JqZWN0OwogICAgaWYgKCEkdW5pcXVlT2JqZWN0KSB7CiAgICAgICAgJHVuaXF1ZU9iamVjdCA9IG5ldyBzdGRDbGFzczsKICAgIH0KCiAgICBmb3JlYWNoICgkYXJyYXkgYXMgJiRpdGVtKSB7CiAgICAgICAgaWYgKCFpc19hcnJheSgkaXRlbSkpIHsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQoKICAgICAgICAkaXRlbVtdID0gJHVuaXF1ZU9iamVjdDsKICAgICAgICAkaXNSZWN1cnNpdmUgPSBlbmQoJGFycmF5KSA9PT0gJHVuaXF1ZU9iamVjdDsKICAgICAgICBhcnJheV9wb3AoJGl0ZW0pOwogICAgICAgIGlmICgkaXNSZWN1cnNpdmUpIHsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiBmYWxzZTsKfQoK