从关联数组

时间:2017-04-06 13:59:00

标签: php object associative-array

我是PHP新手,可能这个是基本问题,但是......我有一个关联数组(json_decode函数的结果)。例如,它看起来像这样:

$cars = array
  (
  array("brand"=>"Volvo", "price" => 10000, "type"=> 1),
  array("brand"=>"Audi", "price" => 20000, "type"=> 2),
  array("brand"=>"Ford", "price" => 30000, "type"=> 3),
  array("brand"=>"Audi", "price" => 31000, "type"=> 3),
  array("brand"=>"Ford", "price" => 32000, "type"=> 2),
  array("brand"=>"Audi", "price" => 33000, "type"=> 2)
  );

我需要循环$ cars并将品牌和价格作为奥迪品牌的关键价值对,因为需要将每个品牌转换为对象。

谢谢!

1 个答案:

答案 0 :(得分:1)

非常简单。使用foreach遍历每辆车。如果汽车品牌名称是“奥迪”,那么它会将它的条目添加到阵列中。

<?php
$cars = array
  (
  array("brand"=>"Volvo", "price" => 10000, "type"=> 1),
  array("brand"=>"Audi", "price" => 20000, "type"=> 2),
  array("brand"=>"Ford", "price" => 30000, "type"=> 3),
  array("brand"=>"Audi", "price" => 31000, "type"=> 3),
  array("brand"=>"Ford", "price" => 32000, "type"=> 2),
  array("brand"=>"Audi", "price" => 33000, "type"=> 2)
  );

$audis = [];  
foreach ($cars as $car) {
  if ($car['brand'] == 'Audi') {
    $audis[] = ['price' => $car['price'], 'type' => $car['type']];
  }
}

foreach ($audis as $audi) {
  print_r($audi);
}

这将归还所有奥迪

Array
(
    [price] => 20000
    [type] => 2
)
Array
(
    [price] => 31000
    [type] => 3
)
Array
(
    [price] => 33000
    [type] => 2
)

链接:https://eval.in/769607