【问题标题】:Combine two single arrays and form an associative array组合两个单个数组并形成一个关联数组
【发布时间】:2019-08-11 20:22:33
【问题描述】:

一段时间以来,我一直在努力解决这个问题,但该网站上的其他已回答问题都无法提供答案。我可能只是在搜索错误的术语,但我离题了。

我有两个来自 HTML 表单的数据数组。

Array1 (payment_descriptions) 如下所示:

["1st Desc","2nd Desc","3rd Desc"]

和 Array2 (payment_amounts) 是这样的:

["100.10","10.50","39.99"]

有没有办法将这些数组(支付)组合起来,使最终结果看起来像这样?

[{
    "description": "1st Desc",
    "amount": "100.10"
}, {
    "description": "2nd Desc",
    "amount": "10.50"
}, {
    "description": "3rd Desc",
    "amount": "39.99"
}]

【问题讨论】:

    标签: php html arrays json laravel


    【解决方案1】:

    您似乎是 SO 的老成员,但您仍然没有遵守有关如何在这里寻求帮助的规则? 我敦促您以后继续关注 :) 见 here 。顺便说一句,您可以使用简单的array_combine()foreach() 循环来完成。让我们试试-

    <?php
    $arr1 = ["1st Desc","2nd Desc","3rd Desc"];
    $arr2 =["100.10","10.50","39.99"];
    
    $combined = array_combine($arr1,$arr2);
    $expected = [];
    foreach($combined as $k=>$v){
        $expected[] = ['description'=>$k,'amount'=>$v];
    }
    echo json_encode($expected,JSON_PRETTY_PRINT);
    ?>
    

    演示: https://3v4l.org/1tP4c

    没有 array_combine():

    foreach($arr1 as $k=>$v){
        $expected[$k] = ['description'=>$v,'amount'=>$arr2[$k]];
    }
    

    演示: https://3v4l.org/6FVHe

    【讨论】:

    • 抱歉,我在这个网站上发表了其他几篇文章,没有任何问题,而且我的问题格式与过去完全相同。下次如何改进我的问题?
    • @Hampkade 我在我的回答中添加了一个链接。看看那个或stackoverflow.com/help/how-to-ask,顺便问一下,这有帮助吗?
    • 我认为他希望您以“如何”开头并以问号结尾。
    猜你喜欢
    • 2018-04-27
    • 2012-10-21
    • 1970-01-01
    • 2015-09-23
    • 2017-11-14
    • 1970-01-01
    • 2011-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多