【问题标题】:How to make list of array objects with key value pair in php or laravel?如何在 php 或 laravel 中创建具有键值对的数组对象列表?
【发布时间】:2020-03-12 06:55:35
【问题描述】:
number=["11","22","32","42","52"]
amount=["10","10","10","10","10"]
list=[
    {"number":"11", "amount":"10"},
    {"number":"22", "amount":"10"},
    {"number":"32", "amount":"10"},
    {"number":"42", "amount":"10"},
    {"number":"52", "amount":"10"}
]

我有两个不同的数组(数量和数量),两个数组都有固定的长度。我需要用键值对创建另一个数组列表对象。

代码...

$i=0; 
$new_arr=array(); 
foreach($number as $num) { 
    foreach($amount as $amt) { 
        $new_amt[$i]; 
        $data=array( 'number'=>$num, 'amount'=>$new_amt ); 
        array_push($new_arr, $data); 
    } 
} 

print_r($new_arr);

我是这样尝试的

$new_arr = [];
foreach ($number as $num) {
    foreach ($amount as $amt) {
        $data = [
            'number' => $num,
            'amount' => $amt,
        ];
    }
    array_push($new_arr, $data);
}

print_r($new_arr);

【问题讨论】:

  • 到目前为止你尝试了什么?
  • 那是什么问题?
  • 为什么还要嵌套foreach?
  • 您需要一个对象数组,还是只是将数组称为“数组列表对象”?

标签: php laravel


【解决方案1】:

在 PHP 中,您可以轻松地将数组转换为对象,只需使用 (Object) 进行转换,因此您可以通过以下方式解决您的问题:

$list=array(); 
for($i = 0; $i<sizeof($number); $i++) { 
   array_push($list, (Object)["number" => $number[$i], "amount" => $amount[$i]]);
} 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-11
    • 2013-12-02
    • 2021-11-15
    • 2020-02-17
    • 2013-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多