>  기사  >  백엔드 개발  >  PHP 배열 첨자에 변수를 사용할 수 없나요?

PHP 배열 첨자에 변수를 사용할 수 없나요?

PHPz
PHPz원래의
2023-04-12 09:17:38682검색

PHP에서 일반 배열 첨자는 고정적으로 정의된 문자열이나 숫자여야 하며 변수가 될 수 없습니다.

예를 들어 다음 코드는 올바르지 않습니다.

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

위의 예에서는 $라는 배열이 <code>$array배열에 없기 때문에 "정의되지 않은 인덱스" 오류가 표시됩니다. > 색인의 첨자입니다. $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

이 문제를 해결하는 방법은 {}를 통해 해당 변수를 첨자의 값으로 사용하는 것입니다. 예: 🎜rrreee🎜위 코드는 잘 작동합니다. 둘 다 $array'John'을 갖고 배열에 $array2를 갖습니다. >"name" 이 첨자의 값입니다. 🎜🎜위의 방법 외에도 변수를 첨자로 사용하는 방법이 있는데, 변수 변수를 사용하는 방법인데, 변수 이름을 다른 변수의 값으로 사용하고 앞에 를 붙여서 사용하는 것입니다. 변수를 참조하는 변수 이름 $ 기호. 예: 🎜rrreee🎜위 코드에서는 동적 변수 정의 및 사용이 구현되었습니다. $$index$name의 약어로 볼 수 있으며 'John' 값이 할당되고 echo $ name'John'을 출력합니다. 🎜🎜변수 변수는 프로그램을 더욱 동적으로 만들 수 있지만, 코드를 이해하고 유지 관리하기 어렵게 만들 수도 있으므로 주의해서 사용해야 합니다. 🎜🎜간단히 말하면 PHP의 배열 첨자는 변수를 사용할 수 없으며, 변수는 {} 또는 변수 변수를 통해 ​​첨자 값으로 사용할 수 있습니다. 🎜

위 내용은 PHP 배열 첨자에 변수를 사용할 수 없나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.