我想创建一个包含值的数组: 3,2,1 ....我想使用array_push和forloop。 我写了以下代码不能正常工作..
============
<?PHP
$temp0=3;
$temp1=2;
$temp2=1;
$temp3=1;
$temp4=1;
$temp5=1;
$arraytemp=array();
for($i=0;$i<4;$i++)
{
$r="temp";
$dd=$r.$i;
array_push($arraytemp,$dd);
}
echo $arraytemp[3];
?>
你可以告诉我我缺少的东西
答案 0 :(得分:0)
这是您应该如何分配$dd
for($i=0;$i<4;$i++)
{
$dd=${"temp".$i};
array_push($arraytemp,$dd);
}
答案 1 :(得分:0)
您的$dd
将var的名称作为字符串。你想用这个技术:
array_push($arraytemp,$$dd);
注意双$$
:)
此处发生的情况如下:$dd
被其包含的字符串替换。所以你的电话
array_push($arraytemp,$dd);
会这样做:
array_push($arraytemp,'temp0');
但你想要这个:
array_push($arraytemp,$temp0);
因此您需要显示您想要一个具有该名称的实际$var
,因此您需要添加$
。这只是语法的工作方式,需要区分普通字符串和应该是变量的字符串
答案 2 :(得分:0)
混淆了你想在这里实现的目标,你想:
使用值创建数组:temp0,temp1,temp2 ......
for($i=0;$i<4;$i++){
array_push($array,"temp{$i}");
}
echo $array[3];
使用值创建数组:0,1,2,3 ..
for($i=0;$i<4;$i++){
array_push($array,$i);
}
echo $array[3];
根据上面定义的变量($ temp0,$ temp1 ...)
创建包含值的数组$temp0=3;
$temp1=2;
$temp2=1;
$temp3=1;
$array = array();
for($i=0;$i<4;$i++){
$val = "temp{$i}";
array_push($array,$$val);
}
echo $array[3];
答案 3 :(得分:0)
最简单的方法,按照您要求的方式进行,但您没有指定要添加的数量。所以for循环不会这样。你最好用一个循环。
$foo = array();
$i = 1;
while (some end condition) {
array_push($foo, $i);
$i++;
}
print_r($foo);