2012-09-29 61 views
0

默认情况下,$arrDummy里面已经有一些现有的数据。在现有的php关联数组中添加更多数组

我想在更多的家庭加入到现有的$arrDummy

通过调用getnewfamily(),我会添加多个小的值到同一个家族的名字,然后回到返回主功能,并添加到$arrDummy

我已经使用array_mergearray_push,在这里和那里测试,但事情没有按预期工作。

$arrDummy= array(

    "Family name aa" => 
        array(
        "123" => "some value", 
        "112223" => "some value", 
        ), 

    "Family Jacky" => 
        array(
        "7856" => "some savalue", 
        "2354" => "some vcx", 
        ) 
); 


$arrDummy= getnewfamily($arrDummy); 

    echo "<pre>"; 
    print_r($arrDummy); 
    echo "</pre>"; 

function getnewfamily($arrDummy) 
{ 

    $familyname="my current family"; 



    if($condition1==true) 
    { 
     $arrTest1= array($familyname => 
          array(
          "123" => "some value" 
          ) 
       ); 

     array_push($arrDummy[$familyname], $arrTest1); 

    } 

    if($condition2==true) 
    { 

     $arrTest2= array($familyname => 
          array(
          "456" => "some other value", 
          "88888" => "somes other value", 
          ) 
       ); 

     array_push($arrDummy[$familyname], $arrTest2);  
    } 

    if($condition3==true) 
    { 
     $arrTest3= array($familyname => 
          array(
          "756" => "further more" 
          ) 
       ); 

     array_push($arrDummy[$familyname], $arrTest3); 
    } 

    //How to merge or push to this very specific datas into $arrTest subarray? 


    return $arrDummy; 
} 
+0

这是错误的'$ arrTest = array($ family =>());' – Baba

回答

0

在脚本

这么多的错误尝试

$arrDummy = array(
"Family name aa" => array("123" => "some value","112223" => "some value"), 
"Family Jacky" => array("7856" => "some savalue","2354" => "some vcx")); 

$arrFamilytoAddtoDummy = getnewfamily($arrDummy,2); 

var_dump($arrFamilytoAddtoDummy); 

功能

function getnewfamily($arrDummy, $condition) { 
    switch ($condition) { 
     case 1 : 
      $arrDummy["my current family"] = array("123" => "some value"); 
      break; 
     case 2 : 
      $arrDummy["my current family"] = array("456" => "some other value","88888" => "somes other value"); 
      break; 
     case 3 : 
      $arrDummy["my current family"] = array("756" => "further more"); 
      break; 
    } 

    return $arrDummy; 
} 

输出

array 
    'Family name aa' => 
    array 
     123 => string 'some value' (length=10) 
     112223 => string 'some value' (length=10) 
    'Family Jacky' => 
    array 
     7856 => string 'some savalue' (length=12) 
     2354 => string 'some vcx' (length=8) 
    'my current family' => 
    array 
     456 => string 'some other value' (length=16) 
     88888 => string 'somes other value' (length=17) 
+0

hmm,不能使用switch语句,因为当条件为真时,$ familyname =>中的值会随着时间增长而变大 –

+1

它只是一个指导,因为你的脚本包含这么多的错误 – Baba