在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" 这个下标的值。
立即学习“PHP免费学习笔记(深入)”;
除了上述方法之外,使用变量作为下标还有一种方法,那就是使用 variable variable,通过将变量名作为另一个变量的值,并在变量名前添加 $ 符号来引用变量。例如:
$index = 'name'; $$index = 'John'; echo $name;
在上面的代码中,实现了动态的变量定义和使用。$$index 可以看做是 $name 的简写形式,它将会被赋值为 'John',而 echo $name 将会输出 'John'。
虽然 variable variable 可以使程序更加动态,但是它也会让代码变得难以理解和维护,所以应该谨慎使用。
总之,PHP中的数组下标不能使用变量,并可以通过 {} 或 variable variable 的方式来使用变量作为下标的值。
以上就是php数组下标不能用变量吗的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号