我如何从循环到数组中获取值传递给另一个php页面

时间:2016-04-14 02:52:19

标签: php arrays session foreach do-while

我想将值从我的循环传递到另一个PHP页面。但它只传递最新的价值。我试图使用数组,但它不起作用。

$roots = array();

do {

if (abs ($equation_x1-$equation_x0) < $delta) {

echo ' Solution cannot be found. ' . '<br>';
return 0;

}

$dx = ($x0*$equation_x1) - ($x1*$equation_x0);
$d = $equation_x1 - $equation_x0;
$x2 = number_format($dx / $d,6);
$equation_x2 = equation($x2);
$equation_x0 = $equation_x1;
$equation_x1 = $equation_x2;
$x0 = $x1;
$x1 = $x2;

echo '<table colspan = "2" align = "center">';
echo '<tr><td style="width:350px;height:50px" align = "center">' . $k . '</td>';
echo '<td style = "width:350px" align = "center">' . $x2 . '</td></tr>';
echo '</table>';

if ($k == $max_iter) {

break;

}

$k++;

$roots[]=$x2;

} while (abs($equation_x2) > $delta && $k < $max_iter);


for($i=0; $i<count($roots);$i++) {
$roots[$i] . '<br>';
}

$_SESSION['roots']= $roots;

我只回显$ x2的最后一个值,但我想将$ x2的所有值传递给另一个PHP页面以用于其他目的。有办法吗?

//我找到了数组的解决方案但现在我有问题在另一个php页面中打印出数组项。我一直在接受(注意:数组转换为字符串)

我修复了之前的代码

$x2 = $_SESSION['roots'];

foreach($x2 as $roots) {
echo $roots . '<br>';
}

这是我打印出数组项的代码。

public class CompileTimeAnnotationProcessor extends AbstractProcessor{
 ...
 @Override
 public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
      // Only one annotation, so just use annotations.iterator().next();
    Set<? extends Element> elements = roundEnv.getElementsAnnotatedWith(annotations.iterator().next());
    Set<VariableElement> fields = ElementFilter.fieldsIn(elements);
    for (VariableElement field : fields) {
        field.getConstantValue();  //get the value of static field?
    }
    return true;
 }
 ...
}

//我修复了我的代码。它已经有效了。

1 个答案:

答案 0 :(得分:-1)

$x2 = number_format($dx / $d,5);

没有任何语法可以将$ x2更改为数组。

尝试

$x2 = isset($_SESSION['x2']) ? $_SESSION['x2']:[] ; 
... 
$x2[] = number_format($dx / $d,5); 
... 
$_SESSION['x2'] = $x2;