Php 如何从for循环中的递增变量中获取上一个值?
在上一篇帖子中,我问: 如何在php中使用“for”循环创建动态递增变量?像wise:$track_1、$track_2、$track_3、$track_4。。。。。等等 我选择谁的答案作为答案Php 如何从for循环中的递增变量中获取上一个值?,php,for-loop,Php,For Loop,在上一篇帖子中,我问: 如何在php中使用“for”循环创建动态递增变量?像wise:$track_1、$track_2、$track_3、$track_4。。。。。等等 我选择谁的答案作为答案 for($i = 0; $i < 10; $i++) { $name = "track_$i"; $$name = 'hello'; } ($i=0;$i
for($i = 0; $i < 10; $i++) {
$name = "track_$i";
$$name = 'hello';
}
($i=0;$i<10;$i++)的{
$name=“track_$i”;
$$name='hello';
}
及
($i=0;$i<10;$i++)的{
${'track.'$i}='val'
}
现在,如果我需要变量的值早于当前变量,该怎么办
if ($i != 0)
{
$prev = ${'track_' . ($i-1)} ;
}
我想最简单的方法是使用两个变量
$name2 = "track_0";
for($i = 1; $i < 10; $i++) {
$name1 = $name2;
$name2 = "track_$i";
$$name1 = 'hello_previous';
$$name2 = 'hello_this';
}
$name2=“跟踪0”;
对于($i=1;$i<10;$i++){
$name1=$name2;
$name2=“跟踪\$i”;
$$name1='hello_previous';
$$name2='hello_this';
}
或者,如果显式使用i=[0…10]生成变量名,则只需编写$name2=“track\ux”$一,$name1=“跟踪”。(i-1元)代码>用于($i=0;$i<10;$i++){
${'track.'$i}='val'
如果($i!=0){
$prev_val=${'track_.'($i-1)}
}
}
但是使用数组更好,因为它是针对这个应用程序的
$tracks = array();
for($i = 0; $i < 10; $i++){
$tracks[$i] = 'val';
if($i != 0){
$prev_val = $tracks[$i-1];
}
}
$tracks=array();
对于($i=0;$i<10;$i++){
$tracks[$i]=“val”;
如果($i!=0){
$prev_val=$tracks[$i-1];
}
}
我知道其他人在说只需减去1,但是如果你的列表是1、2、4、5、8、9怎么办?前一个8不是7,而是5,下面的方法(根据需要进行一些修改)将提供一种获得前一个值的方法,而不是猜测值
for($i = 0; $i < 10; $i++) {
${'track_' . $i} = 'val'
if(!empty($last_val))
// do what you want here
// set a var to store the last value
$last_val=$i;
}
($i=0;$i<10;$i++)的{
${'track.'$i}='val'
如果(!空($last_val))
//你想在这里干什么就干什么
//设置一个var来存储最后一个值
$last_val=$i;
}
${'track_uu.'($i-1)}代码>不够用?${'track_u.'($i-1)}
还不够吗?如果你能将这个回复粘贴到我的答案栏中,我想接受它,它对我来说很有效….+1用于指出数组。像这样使用的变量通常是设计不好的标志。但是在第一个周期会产生一个通知,因为${'track_u1;-1'}代码>不存在。
$tracks = array();
for($i = 0; $i < 10; $i++){
$tracks[$i] = 'val';
if($i != 0){
$prev_val = $tracks[$i-1];
}
}
for($i = 0; $i < 10; $i++) {
${'track_' . $i} = 'val'
if(!empty($last_val))
// do what you want here
// set a var to store the last value
$last_val=$i;
}