在数组默认idex键中动态添加自定义键

时间:2018-01-25 18:14:27

标签: php arrays

从group_concat获取查询之后我有逗号分隔的数组索引键,如(name)和(id)

git submodule update --init --recursive --remote

但是我们使用了漏洞函数来创建逗号分隔值的数组

我有两个像这样的数组

[name] = new,game
[id] = 1,2

使用数组映射函数后,我得到了最终数组

$array1 = array('0' => 'news', '1' => 'game');

Array
(
    [0] => news
    [1] => game
)

$array2 = array('0' => '1', '1' => '2');

Array
(
    [0] => 1
    [1] => 2
)

但我需要这样的最终数组

$array3 = array_map(null, $array1, $array2);

$array3 = array(array('0'=>'new', '1'=>'1'),array('0'=>'game', '1'=>'2'));

    Array
    (
        [0] => Array
            (
                [0] => new
                [1] => 1
            )

        [1] => Array
            (
                [0] => game
                [1] => 2
            )

    )

我已经尝试过循环和不同的数组函数

2 个答案:

答案 0 :(得分:0)

我是从array3 -

开始的
$array3 = array(array('0'=>'new', '1'=>'1'),array('0'=>'game', '1'=>'2'));
$result = array();

foreach($array3 as $key=>$value){
    $result[$key]["name"] = $value[0];
    $result[$key]["id"] = $value[1];
}
print_r($result);

答案 1 :(得分:0)

@ Sohel0415答案的替代方案:

<?php

$array3 = array(array('0'=>'new', '1'=>'1'),array('0'=>'game', '1'=>'2'));

$result = array_map(function($a) {
    return ["name" => $a["0"], "id" => $a["1"]];
}, $array3);
print_r($result);

但是,如果我理解正确,您可以从$name = ["game", "new"]; $id = ["1", "2"];开始。如果我是对的:

<?php
$name = ["game", "new"];
$id = ["1", "2"];
$r = array_map(function($a1, $a2) {
    return ["name" => $a1, "id" => $a2];
},$name, $id);
print_r($r);

达到预期的效果。