数组内部数组或嵌套数组

时间:2018-04-14 05:53:21

标签: php jquery arrays

我有一个如下的阵列 - 所有的值我只得到一个数组,但我不想这样。这是最好的方法,在php或jqruey这两种语言对我来说都没问题

  Array
(
    [0] => Array
        (
            [val] => facebook
        )

    [1] => Array
        (
            [val] => snapchat
        )

    [2] => Array
        (
            [val] => instagram
        )

    [3] => Array
        (
            [expenses] => 986532
        )

    [4] => Array
        (
            [expenses] => 45456
        )

    [5] => Array
        (
            [expenses] => 56230
        )

    [6] => Array
        (
            [social_id] => 15
        )

    [7] => Array
        (
            [social_id] => 16
        )

    [8] => Array
        (
            [social_id] => 17
        )

)

我希望像这样输出..

$result = array(
                array(
                    "val" => "Facebook",
                    "expenses" => "84512",
                    "social_id" => 1
                ),
                array(
                    "val" => "Instagram",
                    "expenses" => "123",
                    "social_id" => 2
                )
        );

但这应该是动态的,上面数组的长度可以变化

2 个答案:

答案 0 :(得分:1)

您可以将数组合并为一个并使用array_column在单独的数组中获取所有val或费用 然后foreach一个数组并使用键构建新数组。

asScala

https://3v4l.org/nVtDf

使用阵列的“最新”版本更新编辑。我的代码可以很好地使用这个数组而无需任何更改。

答案 1 :(得分:0)

获取该数组样式,您可以手动为每个数组

rs <- dbSendStatement(con, rss)
ret_val <- dbGetRowsAffected(rs)
dbClearResult(rs)
dbDisconnect(con)
return(ret_val)

你可以传递任意数量的

function test(array ...$arr)
{
    $result = array();

    foreach ($arr as $key => $pair) {
        foreach ($pair as $item => $value) {
            $result[$item] = $value;
        }
    }


    return $result;
}


$arr1 = test( ['facebook' => 1], ['expenses' => 100]);
print_r($arr1);

/* Array (
         [facebook] => 1,
         [expenses] => 100
   )
 */

$arr2 = test( $arr1, ['more info' => 'info'] );
print_r($arr2);

/* Array (
         [facebook] => 1,
         [expenses] => 100,
         [more info] => info
   )
 */

甚至是之前制作的数组,它会将它们添加到一个大数组并返回它