开发者社区> 问答> 正文

这样追加到原数组,该如何写啊?请问:报错

@boot2later 您好,请教:

一、原数组$old:

<?php
$old=array(
  'type1' => 
  array (
    0 => '2',
    1 => '2',
    2 => '1',
  ),
  'type2' => 
  array (
    0 => 'OLDtype2value0',
    1 => 'OLDtype2value1',
    2 => 'OLDtype2value2',
  ),
  'type3' => 
  array (
    0 => 'OLDtype3value0',
    1 => 'OLDtype3value1',
    2 => 'OLDtype3value2',
  ),
);
?>


二、待加的数组$add: 

<?php
取到的值为:
var_dump($add); 
array(3) { [0]=> array(3) { [0]=> string(29) "ADDtype2value0 ADDtype3value0" [1]=> string(29) "ADDtype2value1 ADDtype3value1" [2]=> string(29) "ADDtype2value2 ADDtype3value2" } [1]=> array(3) { [0]=> string(14) "ADDtype2value0" [1]=> string(14) "ADDtype2value1" [2]=> string(14) "ADDtype2value2" } [2]=> array(3) { [0]=> string(14) "ADDtype3value0" [1]=> string(14) "ADDtype3value1" [2]=> string(14) "ADDtype3value2" } } 
?>


三、想把$add并入$old,希望合并后得到的新数组$new如下: 

<?php
$new=array(
  'type1' => 
  array (
    0 => '2',
    1 => '2',
    2 => '1',
    4 => '1',
    5 => '1',
    6 => '1',
  ),
  'type2' => 
  array (
    0 => 'OLDtype2value0',
    1 => 'OLDtype2value1',
    2 => 'OLDtype2value2',
    4 => 'ADDtype2value0',
    5 => 'ADDtype2value1',
    6 => 'ADDtype2value2',
  ),
  'type3' => 
  array (
    0 => 'OLDtype3value0',
    1 => 'OLDtype3value1',
    2 => 'OLDtype3value2',
    4 => 'ADDtype3value0',
    5 => 'ADDtype3value1',
    6 => 'ADDtype3value2',
  ),
);
?>

谢谢您 

展开
收起
kun坤 2020-06-09 22:16:12 456 0
1 条回答
写回答
取消 提交回答
  • 看不出$old数组和$add数组 存在什么关联。

    假设这两个数组都是二维数组,把$old和$add都写成二维表格的形式,然后两个表格拼起来和你要的结果类似。但是type1不一样啊,结果也不一样啊

    ######

    引用来自“boot2later”的评论

    看不出$old数组和$add数组 存在什么关联。

    假设这两个数组都是二维数组,把$old和$add都写成二维表格的形式,然后两个表格拼起来和你要的结果类似。但是type1不一样啊,结果也不一样啊

    谢谢回复。

    我是想把后得到的值$add ,添加到$old,得到新值$new。不知php如何写。麻烦您有空能写下么,谢谢

    <?php
    $add=array (
      0 => 
      array (
        0 => 'ADDtype2value0 ADDtype3value0',
        1 => 'ADDtype2value1 ADDtype3value1',
        2 => 'ADDtype2value2 ADDtype3value2',
      ),
      1 => 
      array (
        0 => 'ADDtype2value0',
        1 => 'ADDtype2value1',
        2 => 'ADDtype2value2',
      ),
      2 => 
      array (
        0 => 'ADDtype3value0',
        1 => 'ADDtype3value1',
        2 => 'ADDtype3value2',
      ),
    );
    ?>



    ######谢谢您######两个数组合并,要么是结构一致,要么逻辑一致。 这样在合并时 才有章可循呐。 你提供的两个数组$old和$add,在结构上(键值)不一致,逻辑关系也没有说清楚。######如果是单纯的追加到数组后面 是比较简单的。 但是$add数组中的第0行数据(比如 $add[0][0]) ,按你的想法合并后为啥就消失了?
    2020-06-09 22:16:17
    赞同 展开评论 打赏
问答分类:
PHP
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载