示例#1
0
}
$struct6 = new classstruct1();
$struct7 = new classstruct2();
$struct8 = $struct3;
$struct8["cafeina"]["ss"] = new classstruct2();
//getdiff(modified struct, static struct)
echo "\ngetdiff(modified struct, static struct)<br/>\n";
print_r($treewalker->getdiff($struct4, $struct3));
echo "<br/><br/>\n\n";
//replaceValues(struct, newvalue, known key, (boolean)change all the keys values found if the occurrence be a leaf)
/**
 * {"cafeina": "oi"} -> leaf
 * {"cafeina": "child": {"name": "Lucas"}} -> non-leaf
 */
echo "replaceValues(struct, newvalue, known key, isleaf)<br/>\n";
print_r($treewalker->replaceValues($struct4, "test", "ss", false));
echo "<br/><br/>\n\n";
//createDynamicallyObjects(struct, newObjectPath)
echo "createDynamicallyObjects(struct, newObjectPath)<br/>\n";
print_r($treewalker->createDynamicallyObjects($struct5, array("dd", 2, 5, 9, 10, 11)));
echo "<br/><br/>\n\n";
//getDynamicallyValue(struct, static)
echo "getDynamicallyValue(struct, static)<br/>\n";
echo "Static access<br/>\n";
print_r($struct4["cafeina"]["ss"]);
// Static access
echo "\n<br/>Dynamic access<br/>\n";
$dynamicpath = array("cafeina", "ss");
print_r($treewalker->getDynamicallyValue($struct4, $dynamicpath));
// Dynamic access
echo "<br/>\n\n";