$waypoints = array(
"a" => array(1,2),
"b" => array(2,3),
"c" => array(2,4),
"d" => array(4,5),
"e" => array(5,9),
"f" => array(6,7),
"g" => array(7,8),
"h" => array(7,9),
"i" => array(9,10),
"j" => array(10,11),
"k" => array(11,12),
"l" => array(10,13),
"m" => array(13,14),
"n" => array(12,10),
"o" => array(12,15),
"p" => array(15,16));
// circular reference is j(10,11), k(11,12), n(12,10)
// waypoint keys (a, b, ..) are optional
try {
Anti_Util_CircularReference::checkArray($waypoints);
echo "no circular reference found";
} catch (Anti_Util_CircularReference_Exception $exception) {
echo $exception->getMessage(),
"<hr />",
"<pre>",
print_r($exception->getWaypointTrace(), true),
"</pre>",
"<hr />",
"<pre>",
print_r($exception->getCausingWaypointTrace(), true),
"</pre>";
}
?>
|