I am writing a function to decrypt the contents of a SimpleXML object in place.
function xmlWalkerDecrypt(&$xmlObj, $aesKey) { if ($xmlObj->count()>0){ foreach($xmlObj as &$child){ //line 154 xmlWalkerDecrypt($child, $aesKey); } } else{ $xmlObj = companyAES($xmlObj, $aesKey, 'decrypt'); } } This is throwing a the following error in WAMP: Fatal error: An iterator cannot be used with foreach by reference in C:\wamp\www\_assets\walk.php on line 154
Is it possible to iterate through a SimpleXML object for the purpose of editing by reference, rather than outputting?
I've also tried:
function xmlWalkerDecrypt(&$xmlObj, $aesKey) { if ($xmlObj->count()>0){ foreach($xmlObj->children() as &$child){ //line 154 xmlWalkerDecrypt($child, $aesKey); } } else{ $xmlObj = companyAES($xmlObj, $aesKey, 'decrypt'); } } but that produces the following error:
Fatal error: Cannot create references to elements of a temporary array expression in C:\wamp\www_assets\myFile.php on line 154`