改变数组的键值

1.改变多维数组的键值

/**用法:
    $keyEnArray = array("奖品" , "标识","编码");
    $keyZhCnArray = array(‘prize‘, ‘sign‘,‘code‘);
    $result = changeKeys($data, $keyEnArray, $keyZhCnArray);
 $keyEnArray  原键值
 $keyZhCnArray  改变后的键值
*/
function changeKeys($array, $keyEnArray, $keyZhCnArray)
{
    if(!is_array($array)) return $array;
    $tempArray = array();
    foreach ($array as $key => $value){
        // 处理数组的键,翻译成中文
        $key = array_search($key, $keyEnArray, true) === false ? $key : $keyZhCnArray[array_search($key, $keyEnArray)];
        if(is_array($value)){
            $value = changeKeys($value, $keyEnArray, $keyZhCnArray);
        }
        $tempArray[$key] = $value;
    }
    return $tempArray;
}

2.循环三维数组,插入数据库

 foreach($result as $value){
     foreach($value as $key=> $v){
          $arr2[$key]=$v;
     }
    pdo_insert(‘hxqlottery_prize‘,$arr2);
}        

原文地址:https://www.cnblogs.com/tine/p/9176114.html

时间: 2024-11-09 15:10:51

改变数组的键值的相关文章

PHP 按二维数组的键值排序

/** * 按二维数组的键值排序 * @param unknown $array 二维数组 * @param unknown $key 二维数组的键值 * @param string $order 升序/降序 * @return multitype:unknown 返回排序后的数组 */ public static function arr_sort_in_key($array, $key, $order = "asc") { $arr_nums = $arr = array(); f

数组的键/值操作函数

PH在P中,数组的每个元素都是由键/值组成的,通过元素的键来访问对应的键的值.“关联数组”指的是键名为字符串的数组,“索引”和“键名”指的是同一样东西.“索引”多指数组的数字形式的下标.使用数组的处理函数,可以很方便地对数组中的每个元素的键和值进行操作,进而生成一个新数组. ①函数array_values() array_values()函数的作用是返回数组中所有元素的值.使用非常容易,只有一个必选参数,规定传入给定的数组,返回一个包含给定数组中所有值得数组.但不保留键名,被返回的数组将使用顺序

数组和键/值对的用法(文字转换相对应数字和文字)代替switch

1 string[] MethodRepayment = { "按月付息到期还本", "到期一次性还本息", "等额本息还款方式", "等额本金还款方式" }; 2 KeyValuePair<string, string>[] pair = { 3 new KeyValuePair<string,string>("等额本息还款方式","1"), 4 new Key

JavaScript中把数组当做键值对集合使用。

<script type="text/javascript"> var names = new Array(); names[0] = "张三"; names[1] = "李四"; names[2] = "王五"; names[3] = "赵六"; //键值对集合是没有length长度的,所以遍历的时候使用forin循环来遍历. //对于普通数组遍历的时候要使用for循环来遍历. for (va

smarty中ifelse、foreach以及获取数组中键值名的一个实例

<{if empty($history)}> <tr> <td colspan="6">Not any records!</td> </tr> <{else}> <{foreach from=$history item=item}> <tr> <td><{$item.id}></td> <td> <div style="max-

二维数组追加键值对

1 $wid=$this->_post('order_id'); 2 if(!$wid){ 3 echo('工单信息获取失败!'); 4 exit; 5 } 6 $where=null; 7 $where['A.wid']=$wid; 8 $list=M('kefu_reply')->alias("A")->join('z_user_common as B on A.uid=B.id')-> 9 where($where)->field('A.*,B.re

最近在项目中碰到把对象数组转为键值对,

一.键值对问题: 键值对("key = value")字符串,在开发中经常使用: 每个键后面对应着相应的值, 当按下相应的键时, 就会输出相应的结果,那么如何用程序实现呢? 二:举个例子: 要求:当我拿到地址的id,要把id对应的地址名称给回显到页面. 三:具体代码: 比如我拿到的是省的id, 掉接口去查出所有地址数据 接口返回的数据: 定义一个空对象regionObj 则给这个空对像添加值: regionObj[item.id]=item.name(item.id就相当于key值 =

php二维数组按照键值排序的方法

//按照传入数组中的num倒序 public function numdesc($array,$key="num",$order="desc"){ $arr_nums=$arr=array(); foreach($array as $k=>$v){ $arr_nums[$k]=$v[$key]; } if($order=='asc'){ asort($arr_nums); }else{ arsort($arr_nums); } foreach($arr_num

两个数组合并,保持两个数组的键值不变

$arr1 = ['a' => '111', 'b' => '222', 'c' => '333'];$arr2 = ['d' => '444', 'e' => '555', 'f' => '666']; $arr = $arr1 + $arr2; 输出结果: array(6) { ["a"] => string(3) "111" ["b"] => string(3) "222"