array_slice($arr,1,-1);截取出来再改;
参考例子,完整写法:
$ar = array(
);
$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
[Name] = long
[Work] = zzz
[Type] = kkk
)
[1] = Array
[Name] = king
[Work] = lll
[Type] = ttt
[Name] = quit
[Work] = qqq
[Type] = xxx
PHP中不能直接修改某数组的键名,只能通过将其中的元素逐一复制到另一个新数组中,并在赋值的时候修改键名,如;
$a = array('a'='China', 'b'='America', 'c'='England');
$b[0] = $a['a'];
$b[1] = $a['b']
$a = $b;
函数:array_change_key_case
array_change_key_case — 将数组中的所有键名修改为全大写或小写
①说明
array_change_key_case ( array $array [, int $case = CASE_LOWER ] ) : array
array_change_key_case() 将 array 数组中的所有键名改为全小写或大写.本函数不改变数字索引.
array
需要操作的数组.
case
可以今天这一节用两个常量,CASE_UPPER 或 CASE_LOWER(默认值).
返回一个键全是小写或者全是大写的数组;如果输入值(array)不是一个数组,那么返回false
错误/异常
如果输入值(array)不是一个数组,就会抛出一个错误警告(E_WARNING).
Example #1 array_change_key_case()例一
print_r(array_change_key_case($input_array, CASE_UPPER));
PHP中没有直接更改键名的函数,循环更改吧 $arr = array ();foreach ( $arr as $v ) {$v-text = $v-name;unset ( $v-name );}
sort是对数组元素按升序排序的函数,既然重新排序了,数组元素的顺序当然就可能和最初不同了
升序排序就是数字按从小到大、字母按字母表顺序从前到后排序
php
$arr = array(
'first' = '第一个',
'second' = '第二个',
'third' = array(
'thirdFirst' = '第三个的第一个',
'thirdSecond' = '第三个的第二个',
'thirdThird' = '第三个的第三个'
//递归处理
function upper_key_recursive($array, $case=CASE_LOWER, $flag_rec=false) {
$array = array_change_key_case($array, $case);
if ( $flag_rec ) {
foreach ($array as $key = $value) {
if ( is_array($value) ) {
upper_key_recursive($array[$key], $case, true);
upper_key_recursive($arr, CASE_UPPER,true);
print_r($arr);
以上就是土嘎嘎小编为大家整理的php修改数据键名相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!