Maison >développement back-end >Problème PHP >Les variables ne peuvent-elles pas être utilisées pour les indices du tableau php ?
在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
的方式来使用变量作为下标的值。
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!