php如何更改数组键名

  • 来源:网络
  • 更新日期:2020-07-23

摘要:php更改数组键名的方法是:可以通过array_combine()函数来实现更改。该函数可以通过合并两个数组来创建一个新数组,其中一个数组元素为键名,另一个数组的元素为键值。键名数组和

php更改数组键名的方法是:可以通过array_combine()函数来实现更改。该函数可以通过合并两个数组来创建一个新数组,其中一个数组元素为键名,另一个数组的元素为键值。键名数组和键值数组的元素个数必须相同。

函数介绍:

(推荐教程:php教程)

array_combine() 函数通过合并两个数组来创建一个新数组,其中的一个数组元素为键名,另一个数组的元素为键值。键名数组和键值数组的元素个数必须相同!

array_slice() 函数返回数组中的选定部分。如果数组有字符串键名,所返回的数组将保留键名。

代码实现:

$ar = array(
 array(1 => 'a', 2 => 50, 3 => 60, 4 => 'long', 5 => 'zzz', 6 => 'kkk', 7 => 'ooo'),
 array(1 => 'b', 2 => 60, 3 => 70, 4 => 'king', 5 => 'lll', 6 => 'ttt', 7 => 'ppp'),
 array(1 => 'c', 2 => 70, 3 => 80, 4 => 'quit', 5 => 'qqq', 6 => 'xxx', 7 => 'ccc'),
);
$kname = array('StaffId', 'Wage', 'Name', 'Work', 'Type');
function foo(&$v, $k, $kname) {
 $v = array_combine($kname, array_slice($v, 1, -1));
}
array_walk($ar, 'foo', $kname);
print_r($ar);

输入结果:

Array
(
  [0] => Array
    (
      [StaffId] => 50
      [Wage] => 60
      [Name] => long
      [Work] => zzz
      [Type] => kkk
    )
  [1] => Array
    (
      [StaffId] => 60
      [Wage] => 70
      [Name] => king
      [Work] => lll
      [Type] => ttt
    )
  [2] => Array
    (
      [StaffId] => 70
      [Wage] => 80
      [Name] => quit
      [Work] => qqq
      [Type] => xxx
    )
)