php代码:
<?php
$arVal = array('4','2','3','1','6','9','7');
$arLength = count($arVal);
for ($i = 0; $i < $arLength; $i++) {
$val = '';
$cVal = '';
$ar = '';
// $arNext shift $arVal(array)
$arNext = next($arVal);
// $val just contain string $tVal0, $tVal1...
echo $val = '$tVal'.$i.'=';
// $ar for loop value inside array 4,2,3,1...
echo $ar = $arVal[$i].' [';
// $cVal contain value math = 4+2*(1-4)
echo $cVal = $ar+$arNext*(1-$ar).'] <br>';
}
我想像这样循环......
$tVal0 = $val0+$val1*(1-$val0);
$tVal1 = $val2+$val0*(1-$val2);
$tVal2 = $val3+$val1*(1-$val3);
$tVal3 = $val4+$val2*(1-$val4);
$tVal4 = $val5+$val3*(1-$val5);
如何循环这样(是否可能,如果不是我不使用循环),看看重复的帖子然后指示我。谢谢。
答案 0 :(得分:1)
如果我正确理解了这个问题,那就试试吧。它可能不是您要求的,因为我不明白$val?
和$tVal?
的来源。你是在宣布它还是从阵列中获取它?你似乎在echo
关键字之后分配一个变量,是否意味着在引号中?
echo "$tVal0 = $val0+$val1*(1-$val0)";
//This one has to be done outside the loop b/c it's different
for($i=1,$i < 5,i++){
$tVal_Name = 'tVal' . $i;
$outside_val_name = 'tVal' . $i+1;
$inside_val_name = 'tVal' . $i-1;
echo "{$$tVal_Name}={$$outside_val_name}+{$$inside_val_name}*(1-{$$outside_val_name})";
}
要了解有关变量变量的更多信息,请参阅the php documentation