示例#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";
示例#2
0
//walker(struct, function) -------------------------------------------------------------
echo "walker(struct, function)<br/>\n";
print_r($treewalker->walker($struct4, function (&$struct, $key, &$value) {
    //Removing element
    if ($key == "ff") {
        unset($struct[$key]);
    }
    //changing element
    if ($key == "ff1") {
        $value = array("son" => "tiago");
    }
}));
echo "<br/><br/>\n\n";
//createDynamicallyObjects(struct, newObjectPath) ---------------------------------------
echo "createDynamicallyObjects(struct, newObjectPath)<br/>\n";
print_r($treewalker->createDynamicallyObjects($struct3, array("cafeina", "novo")));
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";
//setDynamicallyValue(struct, static, value) --------------------------------------------
echo "setDynamicallyValue(struct, static, value)<br/>\n";
echo "Static access<br/>\n";
$struct4["cafeina"]["ss"] = "newvalue";