对数组的操作

<?php 
header("Content-type:text/html;charset=utf-8");
$arr = array(
'a' => 1,
'b' => 2,
'C' => 3,
'D'=>array(
'Ab' => 12,
'cd' =>23,
'XBS' =>array(
'GOOD'=>1
)
)

);

//******************************************* 用递归完成数组键名的大小写转换
function U_and_L_tochange($arr){
if(!is_array($arr)){
return 0;
}else{
$arr = array_change_key_case($arr, CASE_LOWER);   //对$arr的键名进行大小写转换后(已经是一个重新组合的数组了,需要覆盖原来的$arr),所以赋值$arr.
   foreach ($arr as $key => $value) {
    if(is_array($value)){
    $arr[$key] = U_and_L_tochange($value);
    }
    }
}
return $arr;
}
var_dump(U_and_L_tochange($arr));
//************************************************ 用递归完成数组键名的大小写转换

?>



结果:

array (size=4)
  'a' => int 1
  'b' => int 2
  'c' => int 3
  'd' => 
    array (size=3)
      'ab' => int 12
      'cd' => int 23
      'xbs' => 
        array (size=1)
          'good' => int 1



// *****************************************将多维数组中的奇数改写成偶数
function change_jishu($arr){
foreach ($arr as $key => $value) {
if(is_array($value)){
$arr[$key] = change_jishu($value); //改变后的值要赋值给对应的键才能对其真正修改。
}else if(($value%2)==1){
$arr[$key] = $value*2;  //改变后的值要赋值给对应的键才能对其真正修改。
}
}
return $arr;
}
var_dump(change_jishu($arr));
// *********************************************将多维数组中的奇数改写成偶数


结果:

array (size=4)
  'a' => int 2
  'b' => int 2
  'C' => int 6
  'D' => 
    array (size=3)
      'Ab' => int 12
      'cd' => int 46
      'XBS' => 
        array (size=1)
          'GOOD' => int 2


总结;

   遍历数组要用foreach()函数,如果数组中的某个键名或者值做了更改,需要将其赋给原来的数组,将其覆盖,不然更改后的数据没地方接收。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值