PHP에서 엄격한 표준 모드는 변수가 아닌 값을 참조로 전달할 때 경고를 발행할 수 있습니다. 이에 대한 일반적인 예는 array_shift() 함수를 사용할 때입니다.
"엄격한 표준: 변수만 참조로 전달해야 합니다." 경고는 array_shift( )은 변수가 아닌 값을 인수로 전달하여 사용됩니다. 예를 들면 다음과 같습니다.
$instance = new MyClass(); $el = array_shift($instance->find(...)); // Warning
반대로, array_shift()가 배열이 포함된 변수와 함께 호출되면 경고가 생성되지 않습니다.
function get_arr() { return [1, 2]; } $el = array_shift(get_arr()); // No warning
array_shift()는 배열 값을 반환하는 함수이기 때문에 경고가 혼동될 수 있습니다. 그러나 엄격 모드에서 PHP는 array_shift()의 반환 값을 변수가 아닌 것으로 간주합니다.
엄격 모드에서 경고를 해결하려면 다음 두 가지 옵션이 있습니다.
예를 들어 :
// Modify Method Signature function get_arr() { return [1, 2]; } $instance = new MyClass(); $el = array_shift($instance->get_arr()); // Use Intermediate Variable $el = array_shift($instance->get_arr() ?: []);
위 내용은 array_shift()를 사용할 때 PHP가 '엄격한 표준: 변수만 참조로 전달해야 합니다'를 발행하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!