通过在PHP中连接两个字符串变量来访问访问数组索引

时间:2014-12-08 07:12:39

标签: php arrays

我试图通过连接两个字符串变量来访问数组索引。 假设有:

$val1 = 2;
$val2 = 12;
$val3 = 1012;

我在这里运行一个循环来计算上面提到的变量的所有字符串长度,并访问这些变量索引。

以下是我的PHP代码:

$val1 = 2;
$val2 = 12;
$val3 = 1012;
for($i=1; $i<=3; $i++){
    $count = 0;
    $valLength = strlen($val . $i);  // this gives me $val1 Length i.e "1"
    echo $valLength;exit;
    for($j=0; $j<$valLength; $j++){
        if($valLength==1){
            $count = "";
            echo $count; echo $val . $i[$j];exit; // This is where the problem is  echoes nothing 
            continue;
        }

        if($val . $i[$j]==0){$count = "";}
        if($val . $i % $val . $i[$j] == 0){
            $count++;
        }
    }
    echo $count."\n";
}

正如您所看到的,我无法使用此$val . $i[$j]访问变量索引 有没有其他方法来访问它,或者我的串联语法不正确,请建议。

2 个答案:

答案 0 :(得分:2)

$valLength = strlen($val . $i);  // this gives me $val1 Length i.e "1"

不,它没有。这样做是连接$val的值(不存在且null,激活错误报告以查看弹出的通知)和$i1 })。 null . 1的结果是字符串"1"strlen的{​​{1}}为"1"

有许多方法可以让variable variables工作,但长话短说:使用数组!

1

答案 1 :(得分:0)

我认为您需要获得的是变量变量。

echo ${"val{$i}"}

Demo