我想在一个MainArray中创建三个数组。
三个数组的最后两个数组属于一个变量。
如何使用逗号分隔两个数组?
一个简单的","不被接受,因为MainArray不接受它。
我使用了explode,implode,join,但没有任何效果,系统会输出逗号 但是这个逗号不被识别为执行两个数组分离的编码逗号。
$array0 = array("carparts"=>$carparts, "info"=>$info);
$i = 0;
while($i <= 1) {
$i++;
$array_season[$i] = array(
"carpartsseason" => $carpartsseason[$i],
"additional_s" => $info_s);
}
$MainArray = array(
$array0,
$array_season
);
如您所见,上一个$array0
背后的逗号适用于$MainArray
。
但是如何在array_season
的每个数组后面加一个逗号?
例如我在之后添加:
$display = '';
foreach($array_season as $new_output){
$display .= $new_output . ',';
}
识别$new_output
(. ','
)后面的逗号。
然后更改了$MainArray
:
$MainArray= array(
$array0,
$display
);
但没有成功。与加入和内爆相同。
(我工作了两天,但没有结果)
答案 0 :(得分:2)
我认为这里有一些关于数组表示,逗号角色以及如何从数组中添加和删除项目的混淆。
在声明数组时,逗号用于分隔不同的元素,例如:
$fruits = array( 'apple', 'banana', 'carrot' );
该数组的每个元素都是一个字符串。
您还可以将包含逗号的字符串添加到数组中:
$stuff = array( 'snow, falling', 'rain, pouring', 'sun, shining' );
逗号位于数组的元素内;他们对阵列的结构没有特殊的权力。
执行此操作时:
$display .= $new_output . ',';
您在$new_output
的末尾添加逗号,并且您将整个字符串添加到现有字符串$display
。这不会形成阵列;当您稍后将$display
添加到现有数组时,$display
仍然只是一个包含逗号的长字符串,有点像上面$stuff
中的字符串。
如果要向数组添加项目,可以使用array_push
或更常用的简写表示法:
# declare $display as an array
$display = array();
foreach($array_season as $new_output){
# add $new_output to the $display array
$display[] = $new_output;
}
我不清楚您正在寻找什么样的结构,但如果您想将$ array_season添加到现有的$MainArray
,您可以按以下方式执行此操作:
# no need to create $array0 unless you need it elsewhere
$MainArray = array("carparts" => $carparts, "info" => $info);
$i = 0;
while($i <= 1) {
$i++;
$MainArray[] = array(
"carpartsseason" => $carpartsseason[$i],
"additional_s" => $info_s);
}
这会将包含('carpartsseason' => $carpartsseason[$i], 'additional_s' => $info_s)
的数组直接推送到$MainArray
。
答案 1 :(得分:0)
创建'MainArray':
$MainArray = array($array0);
然后在while
循环中,使用$MainArray[] =
将每个季节数组附加到其末尾:
$i = 0;
while($i <= 1) {
$i++;
$MainArray[] = array(
"carpartsseason" => $carpartsseason[$i],
"additional_s" => $info_s);
}
答案 2 :(得分:0)
使用array_merge
:
$MainArray = array_merge($array0, $array_season);