如何将我的数组转换为不同的数组格式?

时间:2017-10-05 12:38:59

标签: php arrays

我想转换这个数组

  fileNo: {
    type: String,
    label: 'File No.',
    autoValue() {
      if (this.isInsert && (this.value == null || !this.value.length)) {
        return '-';
      }
      if (this.isUpdate && this.isSet && this.operator === '$unset') {
        return { $set: '-' };
      }
    },
    optional: true
  }

进入这个数组

[
  {
     "name": "james",
     "age": "42",
     "position": "teacher",
  },
  {
     "name": "lara",
      "age": "34",
     "position": "officer",
  }
]

我测试了{ "data": [ [ "james", "42", "teacher", ], [ "lara", "34", "officer", ] ] } ,但这是在做一些完全受欢迎的事情:

$new = array_values($old);

2 个答案:

答案 0 :(得分:2)

你使用array_values走在正确的轨道上,但你需要将它应用于原始数组的每个元素,而不是为整个事件运行一次。您可以循环执行此操作,也可以通过array_map等函数运行它。

然后,您可以在data键下将结果分配到新数组中:

$new = [
  'data' => array_map('array_values', $old),
];

请参阅https://eval.in/874380

答案 1 :(得分:1)

你需要foreach

$array = array(
    array("name" => "james","age" => 25),
    array("name" => "joy","age" => 32)
);

$newArray = [];

foreach($array as $key => $a){
  $newArray['data'][$key][0] = $a["name"];
  $newArray['data'][$key][1] = $a["age"];
}