我有一些PHP代码,我多次尝试但没有运气。这是我的情况 我有一个声明在不同位置并希望在循环中合并的数组
$data[] = ['sales' => 'mark'];
for($i=0;$i<3;$i++){
data[$i]="some value".$i;
}
结果
Array ( [0] => Array ( [sales] => mark ) [0] => some value0 [1] => some value1 [2] => some value2 )
我的预期
Array ( [0] => Array ( [sales] => mark [0] => some value0 [1] => some value1 [2] => some value2 ) )
答案 0 :(得分:0)
在函数中的数据数组中的代码中出现了一个错误,前面跟$ $,如$ data [$ i]: 尝试: &#39;标记&#39;];
for($i=0;$i<5;$i++) {
$data[$i]="some value".$i;
}
var_dump($data);
答案 1 :(得分:0)
如果我理解你的问题,你只是缺少一些括号:
$data[] = ['sales' => 'mark'];
for($i=0;$i<5;$i++){
$data[$i][] = "some value".$i;
}
但也许你应该试着解释一下你正在努力实现的目标。知道$ data运行了5次,但你只有一件事。也许你应该使用foreach,如下:
$datas[] = ['sales' => 'mark']; $i = 0;
foreach($datas as $data){
$data[] = 'some value'.$i;
$i++;
}
或者如果你必须进行5次迭代:
for($i=0; $i<5; $i++){
foreach($datas as $data){
$data[] = 'some value'.$i;
}
}
以上每个$ datas将有5次迭代,如果你只想在第一个上,你可以对它进行硬编码:
$data[] = ['sales' => 'mark'];
for($i=0;$i<5;$i++){
$data[0][] = "some value".$i;
}
答案 2 :(得分:0)
我认为你在寻找:
$data['sales'] = 'mark';
for($i=0;$i<3;$i++){
$data[$i]="some value".$i;
}
$x[0] = $data;
print_r($x);
print_r($data);
输出这个:
Array
(
[0] => Array
(
[sales] => mark
[0] => some value0
[1] => some value1
[2] => some value2
)
)
答案 3 :(得分:0)
方法1
$data[] = ['sales' => 'mark'];
for($i=0;$i<3;$i++){
$data[0][$i]="some value".$i;
}
print_r( $data);
输出
Array
(
[0] => Array
(
[sales] => mark
[0] => some value0
[1] => some value1
[2] => some value2
)
)
方法2
$data1[] = ['sales' => 'mark'];
for($i=0;$i<3;$i++){
$data2[$i]="some value".$i;
}
$data = array_merge($data1[0],$data2);
print_r($data);
或者
$data = ['sales' => 'mark'];
for($i=0;$i<3;$i++){
$data[$i]="some value".$i;
}
print_r( $data);
<强>输出强>
Array
(
[sales] => mark
[0] => some value0
[1] => some value1
[2] => some value2
)