在php中使用索引合并两个数组

在php中使用索引合并两个数组,php,arrays,merge,array-merge,Php,Arrays,Merge,Array Merge,我有这样的代码 foreach($tests as $test){ if($test=='true') { $temp[]['name']='a'; $temp[]['child']='b'; } else{ $temp[]['name']='c'; $temp[]['child']='d';

我有这样的代码

 foreach($tests as $test){
         if($test=='true') {
                $temp[]['name']='a';
                $temp[]['child']='b';
             }
            else{
                $temp[]['name']='c';
                $temp[]['child']='d';
            }
        }
 prtint_r($temp);
结果是:

[{“姓名”:“c”},{“子女”:“d”},{“姓名”:“c”},{“子女”:“d”},{“姓名”:“a”},{“子女”:“b”},{“姓名”:“c”},{“子女”:“d”}]

但我想要这个结果:

[[{“姓名”:“c”}、{“儿童”:“d”}、{“姓名”:“c”}、{“儿童”:“d”}、{“姓名”:“a”}、{“儿童”:“b”}、{“姓名”:“c”}、{“儿童”:“d”}]]


它非常简单,每次php读取
$array[]
它都将其作为新的数组键读取

$array[] = 1; //Key 0
$array[] = 2; //Key 1
$array[] = 3; //Key 2
$array[] = 4; //Key 3
要分配/控制密钥,可以使用多种方法,其中一种比较简单的方法如下

$i = 0;
foreach($array as $value){
    $array[$i]['name'] = 'Jamie'; 
    $array[$i]['age'] = 1;

    $i++;
}
每次foreach循环运行时,
$i
变量将增加,并在每次运行时为数组分配一个新键

结果:

Array
(
    [0] => Array(
       [name] => Jamie
       [age] => 1
    )
    [1] => Array(
       [name] => Jamie
       [age] => 1
    )   
)

添加数组,而不是同时添加两项

foreach($tests as $test){
     if($test=='true') {
            $temp[] = ['name'=>'a', 'child'='b'];
         }
        else{
            $temp[] = ['name' => 'c', 'child'='d'];
        }
    }
prtint_r($temp);

重新使用
$tests
键在赋值时获得相同的键

foreach($tests as $k=>$test){
     if($test=='true') {
            $temp[$k]['name']='a';
            $temp[$k]['child']='b';
         }
        else{
            $temp[$k]['name']='c';
            $temp[$k]['child']='d';
        }
    }
    var_dump($temp);

发布您的阵列
$tests
。。。
$i = 0;
foreach ($tests as $test) {
  if ($test == 'true') {
    $temp[$i] = array('name' => 'a', 'child'='b');
  } else {
    $temp[$i] = array('name' => 'c', 'child'='d');
  }
  $i++;
}
prtint_r($temp);