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

我大卫 发布于 2016/01/09 22:44
阅读 222
收藏 0
PHP

@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',
  ),
);
?>

谢谢您 

加载中
0
boot2later
boot2later

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

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

0
我大卫
我大卫

引用来自“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',
  ),
);
?>



我大卫
我大卫
谢谢您
boot2later
boot2later
两个数组合并,要么是结构一致,要么逻辑一致。 这样在合并时 才有章可循呐。 你提供的两个数组$old和$add,在结构上(键值)不一致,逻辑关系也没有说清楚。
boot2later
boot2later
如果是单纯的追加到数组后面 是比较简单的。 但是$add数组中的第0行数据(比如 $add[0][0]) ,按你的想法合并后为啥就消失了?
返回顶部
顶部