php数组下标不能用变量吗

PHPzhong
PHPzhong原创
2023-04-12 11:29:0721浏览

在PHP中,普通的数组下标必须是一个被固定定义的字符串或数字,不能是变量。

例如,以下代码是不正确的:

$index = 'name';
$array = [];
$array[$index] = 'John';

在上面的例子中,将会提示错误 "Undefined index",因为在数组 $array 中不存在名为 $index 的下标。

解决这个问题的方法是,通过 {} 将变量作为下标的值来使用。例如:

$index = 'name';
$array = [];
$array[$index] = 'John';
$array2 = [];
$array2["{$index}"] = 'John';

上面的代码将会正常工作,它们都会将 'John' 作为 $array$array2 数组中 "name" 这个下标的值。

除了上述方法之外,使用变量作为下标还有一种方法,那就是使用 variable variable,通过将变量名作为另一个变量的值,并在变量名前添加 $ 符号来引用变量。例如:

$index = 'name';
$$index = 'John';
echo $name;

在上面的代码中,实现了动态的变量定义和使用。$$index 可以看做是 $name 的简写形式,它将会被赋值为 'John',而 echo $name 将会输出 'John'

虽然 variable variable 可以使程序更加动态,但是它也会让代码变得难以理解和维护,所以应该谨慎使用。

总之,PHP中的数组下标不能使用变量,并可以通过 {}variable variable 的方式来使用变量作为下标的值。

以上就是php数组下标不能用变量吗的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。