我正在编写一个函数来解密 SimpleXML 对象的内容。
function xmlWalkerDecrypt(&$xmlObj, $aesKey) {
if ($xmlObj->count()>0){
foreach($xmlObj as &$child){ //line 154
xmlWalkerDecrypt($child, $aesKey);
}
}
else{
$xmlObj = companyAES($xmlObj, $aesKey, 'decrypt');
}
}
这会在 WAMP 中引发以下错误:
Fatal error: An iterator cannot be used with foreach by reference in C:\wamp\www\_assets\walk.php on line 154
是否可以通过引用编辑而不是输出来遍历 SimpleXML 对象?
我也试过:
function xmlWalkerDecrypt(&$xmlObj, $aesKey) {
if ($xmlObj->count()>0){
foreach($xmlObj->children() as &$child){ //line 154
xmlWalkerDecrypt($child, $aesKey);
}
}
else{
$xmlObj = companyAES($xmlObj, $aesKey, 'decrypt');
}
}
但这会产生以下错误:
致命错误:无法在第 154 行的 C:\wamp\www_assets\myFile.php 中创建对临时数组表达式元素的引用`