在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免费学习笔记(深入)”;
用 php + mysql 驱动的在线商城系统,我们的目标为中国的中小企业及个人提供最简洁,最安全,最高效的在线商城解决方案,使用了自建的会员积分折扣功能,不同的会员组有不同的折扣,让您的商店吸引更多的后续客户。 系统自动加分处理功能,自动处理会员等级,免去人工处理的工作量,让您的商店运作起来更方便省事 采用了自建的直接模板技术,免去了模板解析时间,提高了代码利用效率 独立开发的购物车系统,使用最
除了上述方法之外,使用变量作为下标还有一种方法,那就是使用 variable variable,通过将变量名作为另一个变量的值,并在变量名前添加 $ 符号来引用变量。例如:
$index = 'name'; $$index = 'John'; echo $name;
在上面的代码中,实现了动态的变量定义和使用。$$index 可以看做是 $name 的简写形式,它将会被赋值为 'John',而 echo $name 将会输出 'John'。
虽然 variable variable 可以使程序更加动态,但是它也会让代码变得难以理解和维护,所以应该谨慎使用。
总之,PHP中的数组下标不能使用变量,并可以通过 {} 或 variable variable 的方式来使用变量作为下标的值。










