The reason for pass by reference is that, after deleting that element we need that array for further processing. I would prefer answers from php developers.
"rootnode":
{
"node1":
{
"node2":
{
"subNode1":
{
"subNode1_1":
{
"element1":"value1",
"element2":"value2",
"element3":"value3",
"element4":"value4"
}
"element1":"value1",
"element2":"value2",
"element3":"value3",
"element4":"value4"
}
"subNode2":
{
"element1":"value1",
"element2":"value2",
"element3":"value3",
"element4":"value4"
}
}
}
}
class NodeClass
{
//$baseNodeArray is multidimensional associative array which has complete contents.
//$nodePathArray array is 1 dimensional array and has path to the node item that we want to delete. For example rootnode->node1->node2->subNode1->subNode1_1
//nodeItemToDelete is the node item that we should delete. For example element3 in the path rootnode->node1->node2->subNode1->subNode1_1->element3
$this->deleteElement($baseNode, $nodePath, "element3");
}
deleteElement(&$baseNodeArray, $nodePathArray, $nodeItemToDelete)
{
//..
}