php - 将数组转换为数组php中的键和值

标签 php arrays

我有这样的数组:

$arr=array(
   'key1'=>'value1',
   'key2'=>'value2',
   0=>array(
      'sub1_key1'=>'sub1_value1',
      'sub1_key2'=>'sub1_value2',
   ),
   'key3'=>array(
      'sub2_key1'=>'sub2_value1',
      'sub2_key2'=>'sub2_value2',
   ),
   //....
);

如何将数组 $arr 转换为数组,如下所示:

$arr=array(
   'key1'=>'value1',
   'key2'=>'value2',
   'sub1_key1'=>'sub1_value1',
   'sub1_key2'=>'sub1_value2',
   'sub2_key1'=>'sub2_value1',
   'sub2_key2'=>'sub2_value2',
   //....
);

有人可以帮助我吗?

最佳答案

试试这个。希望这对您有用。

这不是微不足道的,因为您要减少 multi.dim。 array to single one 并且忽略第一个数组的键。
我已经测试了以下代码,它产生了您所显示的结果。

function ChangeArrayToSingleArray($array) {  
   if (!$array) return false; 
   $flat = array(); 
   $iterator  = new RecursiveIteratorIterator(new RecursiveArrayIterator($array)); 

   foreach ($iterator as $key=>$value)
     $flat[$key] = $value; 
     return $flat; 
} 

var_dump(ChangeArrayToSingleArray($arr));

输出是这样的。

array (size=6)
  'key1' => string 'value1' (length=6)
  'key2' => string 'value2' (length=6)
  'sub1_key1' => string 'sub1_value1' (length=11)
  'sub1_key2' => string 'sub1_value2' (length=11)
  'sub2_key1' => string 'sub2_value1' (length=11)
  'sub2_key2' => string 'sub2_value2' (length=11)

关于php - 将数组转换为数组php中的键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22281988/

相关文章:

c++ - 我有一个 .csv 文件,想将其转换为 C++ 中的数组

php - 如何检索对象数组值?

javascript - 在设置状态 React JS 之前检查对象数组是否存在于对象数组中的简单方法

ios - 在 Swift 中遍历多个数组

php - 更新不适用于 MySQL 和 PHP

javascript - 在另一个函数中返回一个函数的结果会产生错误的结果

php - 使用MySQL重新进行SQL注入(inject)攻击,基线要求是什么?

php - 按月份和货币在 MySQL 中分组

Php mysql 好友列表 - 从服务器不工作取回姓名列表

php - 将结果合并到一个数组中