$json = '[
{
"class1":
{
"function1":"return \"$a<b>$b</b>!\";"
}
},
{
"class2":
{
"function2":"return $b;",
"function3":"return $c;"
}
}
]';
$decoded_classes = json_decode($json,true);
foreach($decoded_classes as $class)
{
$class_name = key($class);
if (is_array($class[$class_name]))
{
foreach($class[$class_name] as $function)
{
$function_name = key($class[$class_name]);
$stack[$class_name][$function_name] = create_function($arr,$function);
}
}
else
{
foreach($class as $function)
{
$c_name = key($class);
$stack[$c_name] = create_function($arr,$function);
}
}
}
return $stack;
我需要這個代碼將執行相同的結果,但只有一個foreach
。我怎樣才能做到這一點?如何編寫此代碼以獲得相同的結果,但只有一個foreach語句?
有什麼限制讓你「需要」只用一個'foreach'來完成?你允許使用遞歸嗎? – 2012-07-08 18:30:58
你想達到什麼目的?這很難猜測。 – Lion 2012-07-08 18:31:02
我有一個PHP代碼的數組,我需要轉換爲函數。基本上,代碼將在數組內創建函數並將它們重新設置爲變量 – 2012-07-08 18:35:09