拆分多维数组和分组到关联数组在php中具有相同的字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了拆分多维数组和分组到关联数组在php中具有相同的字段相关的知识,希望对你有一定的参考价值。

我的阵列是这样的

$array = array(
  ['NAME[0]'=>'RAM','STD[0]'=>'4','SEC[0]'=>'A'],
  ['NAME[1]'=>'RAJ','STD[1]'=>'3','SEC[1]'=>'B'–]
);

我想像这样分开

$name = array('NAME[0]'=> 'RAM',NAME[1]=>'RAJ');
$std = array('STD[0]'=> '4',STD[1]=>'3');
$name = array('SEC[0]'=> 'A',SEC[1]=>'B');
答案

尝试一下这个

$array=array(
            array('NAME[0]'=>'RAM','STD[0]'=>'4','SEC[0]'=>'A'),
            array('NAME[1]'=>'RAJ','STD[1]'=>'3','SEC[1]'=>'B')
 );

$name = array();
$STD = array();
$SEC = array();

foreach($array as $vals) {    

      $i = 0;
      foreach($vals as $key => $value) { 

               if($i == 0){
                   $name[$key] = $value;
               }elseif($i == 1){
                   $STD[$key] = $value;
               }elseif($i ==2){
                   $SEC[$key] = $value;
               }                

            $i++;   
      }     
}

print_r($name);
print_r($STD);
print_r($SEC);
另一答案

试试这个:

$arr = [
    array(
        'NAME' => 'RAM',
        'STD' => '4',
        'SEC' => 'A',
    ),
    array(
        'NAME' => 'RAJ',
        'STD' => '3',
        'SEC' => 'B',
    )
];
$names = [];
$stds = [];
$secs = [];

foreach ($arr as $value) {
    array_push($names, array('NAME' => $value['NAME']));
    array_push($stds, array('STD' => $value['STD']));
    array_push($secs, array('SEC' => $value['SEC']));
}
另一答案

你可以使用http://php.net/manual/fr/function.array-column.php

<?php

$records = array(
    array(
        'id' => 2135,
        'first_name' => 'John',
        'last_name' => 'Doe',
    ),
    array(
        'id' => 3245,
        'first_name' => 'Sally',
        'last_name' => 'Smith',
    ),
    array(
        'id' => 5342,
        'first_name' => 'Jane',
        'last_name' => 'Jones',
    ),
    array(
        'id' => 5623,
        'first_name' => 'Peter',
        'last_name' => 'Doe',
    )
);

$first_names = array_column($records, 'first_name');
print_r($first_names);
?>

会给你

Array
(
   [0] => John
   [1] => Sally
   [2] => Jane
   [3] => Peter
)

或者你可以使用extract()函数

https://www.w3schools.com/php/func_array_extract.asp

以上是关于拆分多维数组和分组到关联数组在php中具有相同的字段的主要内容,如果未能解决你的问题,请参考以下文章

如果两个值匹配,则从 php 中的多维关联数组中删除重复项

如何从 PHP 中的多维关联数组中删除项目

C# 中的多维关联数组

PHP填充多维关联数组 - 最简单的方法

在 PHP 中将多维关联数组展平为一维引用数组

如何循环访问和访问多维和关联数组中的各种元素? PHP,JSON 或 XML