PHP数组重组

WBOY
发布: 2016-08-18 09:15:45
原创
1233 人浏览过

我有这样一个数组
array(97) {
[0] => array(5) {

<code>["job_id"] => string(1) "1"
["job_name"] => string(18) "内资公司注册"
["work_name"] => string(12) "公司注册"
["flow_name"] => string(15) "预约核名号"
["work_id"] => string(1) "1"</code>
登录后复制
登录后复制

}
[1] => array(5) {

<code>["job_id"] => string(1) "1"
["job_name"] => string(18) "内资公司注册"
["work_name"] => string(12) "公司注册"
["flow_name"] => string(18) "办理名称核准"
["work_id"] => string(1) "1"</code>
登录后复制
登录后复制

}
[2] => array(5) {

<code>["job_id"] => string(1) "1"
["job_name"] => string(18) "内资公司注册"
["work_name"] => string(12) "公司注册"
["flow_name"] => string(15) "预约受理号"
["work_id"] => string(1) "1"</code>
登录后复制
登录后复制

}
[3] => array(5) {

<code>["job_id"] => string(1) "1"
["job_name"] => string(18) "内资公司注册"
["work_name"] => string(12) "公司注册"
["flow_name"] => string(18) "办理三证合一"
["work_id"] => string(1) "1"</code>
登录后复制
登录后复制

}
[4] => array(5) {

<code>["job_id"] => string(1) "1"
["job_name"] => string(18) "内资公司注册"
["work_name"] => string(12) "公司注册"
["flow_name"] => string(12) "刻章备案"
["work_id"] => string(1) "1"</code>
登录后复制
登录后复制

}

希望转换成这样的数组

array{
[0] => array(5) {

<code>["job_id"] => string(1) "1"
["job_name"] => string(18) "内资公司注册"
["work_name"] => string(12) "公司注册"
["flow_name"] => string(12) "预约核名号---办理名称核准---预约受理号---办理三证合一----刻章备案"
["work_id"] => string(1) "1"</code>
登录后复制
登录后复制

}

}

有大神朋友帮帮忙解决么 感激不尽

回复内容:

我有这样一个数组
array(97) {
[0] => array(5) {

<code>["job_id"] => string(1) "1"
["job_name"] => string(18) "内资公司注册"
["work_name"] => string(12) "公司注册"
["flow_name"] => string(15) "预约核名号"
["work_id"] => string(1) "1"</code>
登录后复制
登录后复制

}
[1] => array(5) {

<code>["job_id"] => string(1) "1"
["job_name"] => string(18) "内资公司注册"
["work_name"] => string(12) "公司注册"
["flow_name"] => string(18) "办理名称核准"
["work_id"] => string(1) "1"</code>
登录后复制
登录后复制

}
[2] => array(5) {

<code>["job_id"] => string(1) "1"
["job_name"] => string(18) "内资公司注册"
["work_name"] => string(12) "公司注册"
["flow_name"] => string(15) "预约受理号"
["work_id"] => string(1) "1"</code>
登录后复制
登录后复制

}
[3] => array(5) {

<code>["job_id"] => string(1) "1"
["job_name"] => string(18) "内资公司注册"
["work_name"] => string(12) "公司注册"
["flow_name"] => string(18) "办理三证合一"
["work_id"] => string(1) "1"</code>
登录后复制
登录后复制

}
[4] => array(5) {

<code>["job_id"] => string(1) "1"
["job_name"] => string(18) "内资公司注册"
["work_name"] => string(12) "公司注册"
["flow_name"] => string(12) "刻章备案"
["work_id"] => string(1) "1"</code>
登录后复制
登录后复制

}

希望转换成这样的数组

array{
[0] => array(5) {

<code>["job_id"] => string(1) "1"
["job_name"] => string(18) "内资公司注册"
["work_name"] => string(12) "公司注册"
["flow_name"] => string(12) "预约核名号---办理名称核准---预约受理号---办理三证合一----刻章备案"
["work_id"] => string(1) "1"</code>
登录后复制
登录后复制

}

}

有大神朋友帮帮忙解决么 感激不尽

整个比较粗但一目了然的方式,如下

<code>$tmp = '';
foreach ($array as $key=>$val){
    $tmp .= $val['flow_name'].'---';
}
$tmp = rtrim($tmp, '---');

$new = $array[0];
$new[0]['flow_name'] = $tmp;</code>
登录后复制

哈哈……

尽量使用PHP自带函数,效率能高点

<code class="php">$temp = $arr[0];
$temp['flow_name'] = join('---', array_column($arr, 'flow_name'));</code>
登录后复制

这还不简单

<code>
// 先把flow_name全部拿出来

// 临时数组
$tmp_arr = [];
foreach($data as $value){
    // push到临时数组
    $tmp_arr[] = $value['flow_name'];
}

$flow_name = join('---', $tmp_arr[]);</code>
登录后复制

<code>$data = [
    [
        'flow_name' => '预约合约号'
    ],
    [
        'flow_name' => '办理名称核准'
    ],
    [
        'flow_name' => '预约受理号'
    ],
    [
        'flow_name' => '办理三证合一'
    ],
    [
        'flow_name' => '刻章备案'
    ]
];
$data = array_map(function ($item)
{
    return $item['flow_name'];
}, $data);
echo join('---',$data);
exit;</code>
登录后复制
相关标签:
php
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!