我正在尝试通过连接两个字符串变量来访问数组索引。假设有:
$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]
访问变量的索引有没有其他方法可以访问它,或者我的连接语法不正确,请建议。
$valLength = strlen($val . $i); // this gives me $val1 Length i.e "1"
不,它没有。这样做是连接$val
的值(不存在且null
,激活错误报告以查看弹出的通知)和$i
(1
)。null . 1
的结果是字符串"1"
。"1"
的strlen
是1
.
有许多可能的方法可以使这些变量工作,但长话短说:使用数组!
$vals = array(
1 => 2,
2 => 12,
3 => 1012
);
for ($i ..) {
$vals[$i]
}
// or even:
foreach ($vals as $key => $value) ..
我认为你需要得到的只是变量变量。
echo ${"val{$i}"}
演示