使用递归数组迭代器类的 PHP


PHP using the recursive array iterator class

>我有点困惑。我有以下数组:我正在尝试使用 STL 迭代器循环遍历它并返回 Name = Dodge 的任何数组的所有值的总和。我注意到我不能像每个循环那样做$cars['Price']。我如何获得汽车的价格?

$cars = Array {
     array[0] {
               'Name' => 'Dodge',
               'Drive' => '4W',
               'Price' => '15,000'
              },
     array[1] {
               'Name' => 'Corolla',
               'Drive' => '2W',
               'Price' => '17,300'
               }
         ..
}

这是正确的吗:

try {
    $iter = new RecursiveArrayIterator($cars);
    // loop through the array
    $all_totals = array();
    foreach(new RecursiveIteratorIterator($iter) as $key => $value) 
    {
        if($key == 'Name' && $value == 'Dodge') 
        {
            //how to get the Price of the car?
            //push into totals array:
            $all_totals[$value] = $value;
        }
    }
}

你可以试试这个。

foreach($cars as $key=>$value){
  echo $value['Name']." has a price of ".$value['Price'];
}
Use this code for perticular Dodge car price.
$sumofDodgeCar = 0;
foreach($cars as $value){
    if($value['Name']=='Dodge') {
         echo $value['Name']." has a price of ".$value['Price'];
    $sumofDodgeCar = $sumofDodgeCar + $value['Price'];
    }
}
echo "All Dodge car Price Sum :".$sumofDodgeCar;

为此使用[array_keys()][1]

$keys = array_keys($array);