"치명적인 오류: [] 문자열에 지원되지 않는 연산자" 문제 해결
이 치명적인 오류는 짧은 구문을 사용하려고 할 때 발생합니다. 배열이 아닌 변수(일반적으로 문자열)에 대한 배열 푸시 작업의 경우. 제공된 코드 조각을 조사하면 하나 이상의 변수($name, $date, $text, $date2)가 처음에 문자열로 정의되었을 가능성이 높습니다.
이 문제를 해결하려면 배열을 생성하지 않고 이러한 변수에 행 값을 직접 할당하는 루프:
<code class="php">$name = $row['name']; $date = $row['date']; $text = $row['text']; $date2 = $row['date2'];</code>
PHP 7에서는 빈 인덱스가 있는 배열 푸시 구문에 대해 더 엄격한 규칙을 구현했습니다. 이전에 배열이 아닌 것으로 정의된 변수(문자열, 숫자, 객체)는 이제 이 구문을 사용하는 것이 금지되어 앞서 언급한 오류가 발생합니다.
강조하자면, 이러한 작업은 PHP 7에서도 유효합니다.
<code class="php">unset($arrayWithEmptyIndices); $arrayWithEmptyIndices[] = 'value'; // Creates an array and adds an entry $array = []; // Creates an array $array[] = 'value'; // Pushes an entry</code>
그러나 문자열, 숫자 또는 개체로 선언된 변수에 배열 푸시 구문을 사용하려고 하면 치명적인 오류가 발생합니다.
<code class="php">$stringAsVariable = ''; $stringAsVariable[] = 'value'; $numberAsVariable = 1; $numberAsVariable[] = 'value'; $objectAsVariable = new stdclass(); $objectAsVariable[] = 'value';</code>
위 내용은 PHP 7에서 \"치명적인 오류: [] 문자열에 대해 지원되지 않는 연산자\"가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!