首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将关联数组添加到另一个

问将关联数组添加到另一个
EN

Stack Overflow用户
提问于 2020-06-19 21:50:42
回答 1查看 46关注 0票数 0

我想将一个关联数组添加到另一个关联数组中,但是当我使用array_push时,它会覆盖前一个数组的值

代码语言:javascript
复制
<?php
$tem = ["blue","ss"];
$len = count($tem);
print_r($len);
for($i=0;$i<$len;$i++){
    $data = [
        'code' => $tem[$i],
        'discount_type' => 'percent',   
    ];
    $a=array();
    $result[$i] =array_push($a,$data);
    print_r($a);
}
?>

输出结果是

代码语言:javascript
复制
2Array ( [0] => Array ( [code] => blue [discount_type] => percent ) ) 
 Array ( [0] => Array ( [code] => ss [discount_type] => percent ) )
EN

回答 1

Stack Overflow用户

发布于 2020-06-19 22:03:26

唯一的问题是您在循环中重置了$a数组,因此它将只包含最后一项。而且,当array_push()更新数组本身时,您不会赋值来自它的返回值(但无论如何您都不会使用$result[$i] )……

因此,您的代码最终将类似于..

代码语言:javascript
复制
$tem = ["blue","ss"];
$len = count($tem);
print_r($len);
$a=array();
for($i=0;$i<$len;$i++){
    $data = [
            'code' => $tem[$i],
            'discount_type' => 'percent',
    ];
    array_push($a,$data);
}
print_r($a);

您还可以使用foreach循环缩短代码,并在将数组添加到结果中时创建数组……

代码语言:javascript
复制
$tem = ["blue","ss"];
$a=array();
foreach ( $tem as $t )  {
    $a[] = [
        'code' =>  $t,
        'discount_type' => 'percent',
    ];
}
print_r($a);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62471740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档