为了账号安全,请及时绑定邮箱和手机立即绑定

更改基于其他数组的键数组

更改基于其他数组的键数组

PHP
凤凰求蛊 2022-12-23 13:00:41
sheet第一个数组的键与第二个数组中键内容中的键相同。我需要编辑第一个数组的键元素,根据键,使用我在table第二个数组中的键中的内容sheet我尝试了无数种方法但没有成功,这是一张说明性图片首先:    Array    (        [0] => Array            (                [CIDADES] => PONTA GROSSA                [PERIODO] => 12:00 - 18:00                [ID] => Z8932                [END] => AV VSC DE MAUA,, ALT                 [CONTRATO] => 7947488                [AREA] => AR01                [ASSINANTE] => DAVI                [BAIRRO] => OFICINAS                [OBS] => [Agendamento par]                  [TEL RES] => 42410435                [TEL COM] =>             )        [1] => Array            (                [CIDADES] => PONTA GROSSA                [PERIODO] => 08:00 - 12:00                [ID] => Z7526                [END] => R P1000, FD                 [CONTRATO] => 799644                [AREA] => AR01                [ASSINANTE] => BEATRIZ                [BAIRRO] => NEVES                [OBS] => [Agendamento]                  [TEL RES] => 42988674761                [TEL COM] =>             )        [2] => Array            (                [CIDADES] => PONTA GROSSA                [PERIODO] => 08:00 - 12:00                [ID] => Z0979                [END] => R J93, FD                 [CONTRATO] => 79490                [AREA] => AR01                [ASSINANTE] =>FERNANDES  REIS                [BAIRRO] => UVARANAS                [OBS] => [Agendamentoente]                 [TEL RES] => 4289986                [TEL COM] =>             )    )
查看完整描述

1 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

嘿伙计,我跳过了数组中的一些项目,但希望我的结构是正确的;)


$firstArray = [

    [

        'CIDADES' => 'PONTA GROSSA',

        'PERIODO' => '12:00 - 18:00',

        'ID' => 'Z8932',

        'END' => 'AV VSC DE MAUA,, ALT',

        'CONTRATO' => '7947488',

        'AREA' => 'AR01',

        'ASSINANTE' => 'DAVI',

        'BAIRRO' => 'OFICINAS',

        'OBS' => ['Agendamento par'],

        'TEL RES' => '42410435',

    ],

    [

        'CIDADES' => 'PONTA GROSSA',

        'PERIODO' => '08:00 - 12:00',

        'ID' => 'Z7526',

        'END' => 'R P1000, FD',

        'CONTRATO' => '799644',

        'AREA' => 'AR01',

        'ASSINANTE' => 'DAVI',

        'BAIRRO' => 'BEATRIZ',

        'OBS' => ['Agendamento'],

        'TEL RES' => '42988674761',

    ],

    [

        'CIDADES' => 'PONTA GROSSA',

        'PERIODO' => '08:00 - 12:00',

        'ID' => 'Z0979',

        'END' => 'R J93, FD',

        'CONTRATO' => '79490',

        'AREA' => 'AR01',

        'ASSINANTE' => 'FERNANDES  REIS',

        'BAIRRO' => 'UVARANAS',

        'OBS' => ['Agendamentoente'],

        'TEL RES' => '4289986',

    ],

];


$secondArray = [

    [

        'id' => 1,

        'table' => 'id_operacao',

        'sheet' => 'CIDADES',

    ],

    [

        'id' => 2,

        'table' => 'horario',

        'sheet' => 'PERIODO',

    ],

    [

        'id' => 3,

        'table' => 'tipo_wo',

        'sheet' => 'TIPO DE SERVICO',

    ],

    [

        'id' => 4,

        'table' => 'tecnico_id',

        'sheet' => 'ID',

    ],

    [

        'id' => 5,

        'table' => 'contrato',

        'sheet' => 'CONTRATO',

    ],

    [

        'id' => 6,

        'table' => 'roteamento',

        'sheet' => 'AREA',

    ],

    [

        'id' => 7,

        'table' => 'endereco',

        'sheet' => 'END',

    ],

    [

        'id' => 8,

        'table' => 'nome_cliente',

        'sheet' => 'ASSINANTE',

    ],

];


//I guess this is what you were missing most

$oldKeysToNewKeys = array_combine(

    array_column($secondArray, 'sheet'),

    array_column($secondArray, 'table')

);


foreach ($firstArray as $key => $firstArrayElements) {

    $newFirstArrayElement = [];

    foreach ($firstArrayElements as $oldKey => $value) {

        //You could add checks to avoid errors when keys are not set etc..

        $newKey = $oldKeysToNewKeys[$oldKey];

        $newFirstArrayElement[$newKey] = $value;

    }

    $firstArray[$key] = $newFirstArrayElement;

}


//There you go!

var_dump($firstArray);


查看完整回答
反对 回复 2022-12-23
  • 1 回答
  • 0 关注
  • 62 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信