PHP从字符串获取变量并更改其值

时间:2019-01-12 05:16:05

标签: php

如何更改从字符串获取的变量的值?

<?php
    $a1 = array( 1, 2, 3 );
    $b = "a" . 1;
    $c = ${$b};
    for($i = 0; $i <= 5; $i++) {
        $c[] = $i;
    }
    print_r($a1);
    echo "<br>";
    print_r($c);
    echo "<br>";
?>

结果

Array ( [0] => 1 [1] => 2 [2] => 3 ) 
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 0 [4] => 1 [5] => 2 [6] => 3 [7] => 4 [8] => 5 ) 

变量$ a1将不会根据已添加到$ c的值进行更新。如何增加价值?

2 个答案:

答案 0 :(得分:2)

PHP执行写时复制:

this.withPopup(/ap\/signin/, function login() {
    this.waitForSelector("form[name = signIn]", function () {
        this.fillSelectors("form[name = signIn]", {
            "input[name = email]" : "email@example.com",
            "input[name = password]" : "password"
        }, true);
    });
});

您想要的行为可以通过引用(require 'Matrix' arr = [[1, 3, 4], [2, 5, 7], [6, 7, 8]] diag1 = Matrix[*arr].tr diag2 = Matrix[*arr.reverse].tr )来完成,但是除非您有充分的理由,否则我建议您使用单独的变量值-以及命名更好的变量。 原因是参考变量看起来与常规变量(与号除外)没有区别,因此它们更容易出错。


注释

答案 1 :(得分:1)

使用assignment by reference

$c = &${$b};

Ideone Demo