`
zxbsearch
  • 浏览: 4722 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

数组转变成键值一维数组

阅读更多

在保险产品投保流程的开发过程中,遇到了如下问题:

1,投保模板的结构是多维的结构;

2,投保模板给出的字段是A(特殊字段),但是在投保时传递到后台的字段要求是B。

 

问题思考:

step1

要对特殊字段做映射关系;

列如:
'ADDRESS_3_province' => 'province', //省份
'ADDRESS_3_city' => 'city', //城市
'ADDRESS_3_district' => 'district', //区域

 

 

step2

数组转变成键值一维数组

/**
 * 数组转变成键值一维数组
 * 
 * @param array $arr 数组
 * @param string $arr_key 数组键
 * @param string $split 分割符
 * @param array $linear_arr 键值一维数组
 * 
 * @return array
 */
function array_to_linear_array($arr = array(), $arr_key = "", $split = "_", &$linear_arr = array()) {
    foreach ($arr as $key => $val) {
        if (is_array($val)) {
            $str_key = "";
            if ($arr_key) {
                $str_key = $arr_key . $split;
            }
            $str_key .= $key;
            array_to_linear_array($val, $str_key, $split, $linear_arr);
        } else {
            if ($arr_key) {
                $linear_arr[$arr_key . $split . $key] = $val;
            } else {
                $linear_arr[$key] = $val;
            }
        }
    }
}

 

代码结构及结果

$arr = array(
    'NAME' => 'bing',
    'CERTIFICATENO' => '19880102167548',
    'PHONE' => array(
        '2' => '13714375950',
        '3' => '0755-2686590'
    ),
    'ADDRESS' => array(
        '3' => array(
            'province' => '110000',
            'city' => '110100',
            'district' => '110101'
        )
    ),
    'EMAIL' => 'zxb112@126.com'
);
$linear_arr = array();
array_to_linear_array($arr, "", "_", $linear_arr);
print_r($linear_arr);

 打印结果:

Array
(
    [NAME] => bing
    [CERTIFICATENO] => 19880102167548
    [PHONE_2] => 13714375950
    [PHONE_3] => 0755-2686590
    [ADDRESS_3_province] => 110000
    [ADDRESS_3_city] => 110100
    [ADDRESS_3_district] => 110101
    [EMAIL] => zxb112@126.com
)

 

分享到:
评论

相关推荐

    php对二维数组按指定键值key排序示例代码

    然而,对于二维数组,如果需要按照数组的某个键值进行排序,比如sort键名,array_multisort()函数则无法直接使用。这时,需要编写自定义的函数来实现这一功能。 在示例代码中,提供了一个名为array_sort()的函数。...

    php数组实现根据某个键值将相同键值合并生成新二维数组的方法

    本篇文章将深入探讨如何根据特定键值将相同键值的二维数组合并成一个新的二维数组。这在数据分析、数据整理以及信息分组等场景中非常实用。 首先,我们要理解问题的核心:将具有相同键值(比如键'a')的数组元素...

    JavaScript实现一维数组转化为二维数组

    啥也不说了,上代码吧!...//每个子数组里的元素个数 var arr = [1,4,5,6,34,34,67,895,2456,87,9,5,23,884,56]; var Arr = new Array(Math.ceil(arr.length/num)); for(var i = 0; i<Arr.length;i++){

    json_ksort 二维数组键值排序源码

    ksort函数是PHP中用于对关联数组按键进行升序排序的一个函数,但默认它只能处理一维数组。当处理二维数组时,我们需要扩展这个功能以适应特定需求。 标题中的"json_ksort 二维数组键值排序源码"指的是一种自定义的...

    php二维数组按某个键值排序的实例讲解

    这里,`array_multisort`函数不仅排序了一维数组,而且还根据一维数组的排序结果对原二维数组进行了重新排序,使得相关联的数据能够按照指定键值的排序顺序呈现。 总结以上所述,通过`array_column`和`array_...

    Java二维数组实现简单Map

    在Java中,二维数组本质上是一个数组的数组,它由多个一维数组组成,形成一个矩阵。我们可以将其视为一种表格,其中每一行代表一个键,每一列代表对应的值。例如,我们可以定义一个int[][] map来存储整数键和整数值...

    php数组索引与键值操作技巧实例分析

    对于更多关于PHP数组操作的技巧,可以查看相关文章,如通过`array_unshift()`添加多个元素到数组前端,按指定键值对二维数组排序,使用POST数组的键值创建同名变量等。理解这些操作技巧对于编写高效且灵活的PHP代码...

    PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】

    此函数用于对多个数组或多维数组进行排序,它可以同时处理一个或多个数组,基于提供的数组元素的值进行排序。在多维数组中,我们通常需要按照某个键的值进行排序,而不是整个数组元素。以下是一个使用 `array_...

    php实现给二维数组中所有一维数组添加值的方法

    二维数组可以看作是由多个一维数组组成的矩阵,每个一维数组又包含多个元素。这里我们将通过两个示例来展示如何实现这个功能。 首先,我们来看一下提供的示例代码: ```php $shop = array( 0 => array(0 => 1, 1 ...

    php自定义排序uasort函数示例【二维数组按指定键值排序】

    本篇将深入讲解 `uasort()` 函数以及如何使用它来对二维数组进行指定键值的排序。 `uasort()` 函数是 PHP 内置的排序函数之一,全称为“用户自定义排序”。它接受两个参数:要排序的数组和一个比较函数。这个比较...

    PHP实现通过二维数组键值获取一维键名操作示例

    本示例探讨了如何从二维数组中根据键值获取一维数组的键名,这对于数据分析、数据展示或者信息检索等场景非常实用。我们首先来看给定的二维数组 `$inviteType`,它的结构如下: ```php $inviteType = [ '扫码' => ...

    PHP 如何把二维数组变为 一维数组.rar

    这种方法适用于数组元素是键值对的情况,我们可以通过遍历数组并只保留值来创建一维数组。 ```php $oneDimensionalArray = array_map('array_values', $twoDimensionalArray); $flatArray = array_reduce($...

    CStringArray二维数组

    ### CStringArray 与 二维数组应用详解 在深入探讨 `CStringArray` 与二维数组的应用之前,我们首先简要了解一下 `CStringArray` 和其在 C++ 中的基本概念。 #### 一、CStringArray 概述 `CStringArray` 是 MFC...

    php实现搜索一维数组元素并删除二维数组对应元素的方法

    一维数组$fruit只包含字符串元素,而二维数组$products则包含多个关联数组,每个关联数组又包含多个键值对。二维数组是数组的数组,其内部的每一个元素本身也是一个数组。 在PHP中,数组的遍历通常是通过for循环、...

    二维数组转json的java源码

    二维数组可以看作是由多个一维数组组成的数组,类似于表格,每一行是一维数组,所有行构成了二维数组。例如,一个表示学生信息的二维数组可能包含姓名、年龄和成绩等字段。 在Java中,我们可以使用org.json库来处理...

    php多维数组转化为一维数组并重组源码

    在某些情况下,我们可能还需要对一维数组进行重组,比如根据特定键值重新排序或组合。例如,如果我们想按照`name`字段对上面的示例数组进行排序,可以使用`usort`函数: ```php function sortByName($a, $b) { ...

    java实现二维数组转json的方法示例

    这是通过创建一个`StringBuffer`对象`sb`,然后遍历二维数组,将每个子数组转换为JSON对象格式,最后组合成一个JSON数组。以下是代码详解: 1. 首先定义了一个二维字符串数组`blogList`,包含了多条博客信息。 2. ...

    php each 返回数组中当前的键值对并将数组指针向前移动一步实例

    `each()`函数会生成一个新的数组,这个新数组包含由原数组当前内部指针指向的元素的键名和键值。同时,原数组的内部指针会被向前移动到下一个元素,如果到达了数组末尾,指针将停留在最后一个元素。 `each()`函数...

    易语言-json_ksort 二维数组键值排序

    本知识点主要聚焦于易语言中的一个特定功能——json_ksort,它涉及到二维数组的键值排序。下面将详细阐述易语言处理JSON数据以及ksort函数的工作原理和应用。 首先,JSON(JavaScript Object Notation)是一种轻量...

Global site tag (gtag.js) - Google Analytics