合并索引在 php 中的两个数组
Merge two array with index in php
我有这样的代码
foreach($tests as $test){
if($test=='true') {
$temp[]['name']='a';
$temp[]['child']='b';
}
else{
$temp[]['name']='c';
$temp[]['child']='d';
}
}
prtint_r($temp);
结果是:
[{"name":"c"},{"child":"d"},{"name":"c"},{"child":"d"},{"name":"a"},{"child":"b"},{"name":"c"},{"child":"d"}]
但我想要这个结果:
[[{"name":"c"},{"child":"d"}],[{"name":"c"},{"child":"d"}],[{"name":"a"},{"child":"b"}],[{"name":"c"},{"child":"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);
$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);
我有这样的代码
foreach($tests as $test){
if($test=='true') {
$temp[]['name']='a';
$temp[]['child']='b';
}
else{
$temp[]['name']='c';
$temp[]['child']='d';
}
}
prtint_r($temp);
结果是:
[{"name":"c"},{"child":"d"},{"name":"c"},{"child":"d"},{"name":"a"},{"child":"b"},{"name":"c"},{"child":"d"}]
但我想要这个结果:
[[{"name":"c"},{"child":"d"}],[{"name":"c"},{"child":"d"}],[{"name":"a"},{"child":"b"}],[{"name":"c"},{"child":"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);
$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);