Php 在html表中显示键对值。键应该是标题

Php 在html表中显示键对值。键应该是标题,php,Php,我在php中有以下数组: $values=[ [ ['key'=>"Name",'value'=>"John"], ['key'=>'Surname','value'=>"Doe"], ['key'=>"email",'value'=>'john@doe.com'] ], [ ['key'=>"Sur

我在php中有以下数组:

$values=[
          [
            ['key'=>"Name",'value'=>"John"],
            ['key'=>'Surname','value'=>"Doe"],
            ['key'=>"email",'value'=>'john@doe.com']
          ],
          [
            ['key'=>"Surname",'value'=>"Ichigo"], 
            ['key'=>'Name','value'=>"Kurosaki"],
            ['key'=>'email','value'=>'kurosakiighogo@soulsociety.com']
          ],
          [
            ['key'=>"email",'value'=>"monket.d@luffy.com"],
            ['key'=>'Name','value'=>"Monkey D."],
            ['key'=>'Surame','value'=>'Luffy']
          ],
        ];
我想以某种方式被生成为:

$values2=[
         head=>['Name','Surname','email'],
         values=>[
                   ["John","Doe","john@doe.com"],
                   ["Kurosaki","Ichigo","kurosakiighogo@soulsociety.com"],
                   ['Monkey D.','Luffy','monket.d@luffy.com']
                 ]
        ]
我想要的关键点是在头上存储键和值。但顺序是一样的

为了具体说明值[$i][$j],我希望存储$values['value'],其中$values['key']==head[j]

问题不在于如何显示数组$values2,而在于如何将$values数组转换为$values2

我需要你的帮助。

试试这个;)


到目前为止您尝试过的代码;实际上,我不知道如何将头部与值同步。如何将数据存储在
$values
中?这是在$values上显示的方式。在我的读取问题中,$值是一个非常复杂的查询的结果。我将首先查看生成此数据的查询,并使其生成更好的结构。如果数据无法使用,那么修复创建无法使用数据的原因!我想你没有抓住问题的重点。
$value2
数组不存在。他想从确实存在的
$values
数组中创建
$value2
数组。@RiggsFolly这样行吗?我想。但是我不认为你可以硬编码
'head'
,我打赌他也希望动态构建它。我可以想象他的例子已经从真实的数组简化了。注意:他改变了
$values
数组的布局。现在一切都是
key=>value
甚至是
'email'
@riggsfully我想现在一切都好了。
$values = [
  [
    ['key'=>"Name",
      'value'=>"John"],
    ['key'=>'Surname',
      'value'=>"Doe"],
    ['key'=>"email",
      'value'=>'john@doe.com']
  ],
  [
    ['key'=>"Surname",
      'value'=>"Ichigo"],
    ['key'=>'Name',
      'value'=>"Kurosaki"],
    ['key'=>'email',
      'value'=>'kurosakiighogo@soulsociety.com']
  ],
  [
    ['key'=>"email",
      'value'=>"monket.d@luffy.com"],
    ['key'=>'Name',
      'value'=>"Monkey D."],
    ['key'=>'Surname',
      'value'=>'Luffy']
  ],
];

$records = [];
$keyIndex = [];
foreach($values as $index=> $record){
  $thisRecord = [];
  foreach($record as $index1=> $field){
    if(!$index){
      $keyIndex[$field['key']] = $index1;
      $records['head'][] = $field['key'];
    }
    $thisRecord[$keyIndex[$field['key']]] = $field['value'];
  }
  ksort($thisRecord);
  $records['values'][] = $thisRecord;
}