【发布时间】:2018-05-19 21:01:51
【问题描述】:
如何使用 PHP RecursiveIteratorIterator 解决以下问题?
$arr = array(
"sum"=>array(2,4,6, "multiply" => array(1,3,5) ),
"multiply"=>array(3,3,3, "sum" => array(2,4,6) ),
);
我期待以下答案
(2 + 4 + 6 + ( 1 * 3 * 5) ) = 27;
(3 * 3 * 3 * (2 + 4 + 6)) = 324;
到目前为止的部分代码..
$calc = new ArrayObject($arr);
$MRI = new RecursiveIteratorIterator(new MyRecursiveIterator($calc), 1);
foreach ($MRI as $key=>$value) {
echo " Current Depth: ". $MRI->getDepth() . "\n";
echo $key . " : " . $value . "\n";
$currentDepth = $MRI->getDepth();
for ($subDepth = $currentDepth; $subDepth >= 0; $subDepth--)
{ echo "sub Depth: ". $subDepth . "\n";
$subIterator = $MRI->getSubIterator($subDepth);
// var_dump($subIterator); } }
【问题讨论】:
-
请向我们展示您目前的进展。
-
花了很多时间,无法弄清楚。我还在努力
-
我很确定 Scuzzy 希望您展示您尝试过的代码。不只是说你已经尝试过了。
-
到目前为止的部分代码..
-
部分代码.. $calc = new ArrayObject($arr); $MRI = new RecursiveIteratorIterator(new MyRecursiveIterator($calc), 1); foreach ($MRI as $key=>$value) { echo " Current Depth: ". $MRI->getDepth() 。 "\n"; ;回声 $key 。 “:”。 $价值。 "\n"; $currentDepth = $MRI->getDepth(); for ($subDepth = $currentDepth; $subDepth >= 0; $subDepth--) { echo "sub Depth:". $subDepth 。 "\n"; ; $subIterator = $MRI->getSubIterator($subDepth); // var_dump($subIterator); } }
标签: php arrays multidimensional-array recursiveiterator