더 이상 사용되지 않는 Each() 함수를 사용하는 코드를 업데이트하는 방법
P粉883223328
P粉883223328 2023-08-22 11:44:11
0
2
670
<p>PHP 7.2에서는 <code>each</code> 함수가 더 이상 사용되지 않습니다. 문서에는 다음 내용이 언급되어 있습니다. </p> <인용문> <p><strong>경고</strong> PHP 7.2.0부터 이 함수는 더 이상 사용되지 않습니다. 이 기능에 의존하는 것은 강력히 권장되지 않습니다. </p> </인용문> <p>코드를 사용하지 않으려면 어떻게 업데이트하나요? 다음은 몇 가지 예입니다. </p> <올>
  • <pre class="brush:php;toolbar:false;">$ar = $o->me; 재설정($ar); 목록($typ, $val) = 각각($ar);</pre> </li>
  • <pre class="brush:php;toolbar:false;">$out = array('me' => array(), 'mytype' => 2, '_php_class' => null); $예상 = 각각($out);</pre> </li>
  • <pre class="brush:php;toolbar:false;">for(reset($broken);$kv = 각각($broken);) {...}</pre> </li>
  • <pre class="brush:php;toolbar:false;">list(, $this->result) = 각각($this->cache_data);</pre> </li>
  • <pre class="brush:php;toolbar:false;">// 배열의 끝 또는 배열의 길이까지 반복 > $i = 0; 재설정($배열); while( (list($id, $item) = 각각($array)) || $i < 30 ) { // 코드 $i++; }</pre> </li> </ol> <p>PHP 7.2에서 코드를 실행하면 다음 오류가 발생합니다: </p> <인용문> <p>더 이상 사용되지 않음:each() 함수는 더 이상 사용되지 않습니다. 이후 통화에서는 이 메시지가 무시됩니다</p> </blockquote><p><br /></p>
  • P粉883223328
    P粉883223328

    모든 응답(2)
    P粉463418483

    2019+즉시 업그레이드each()

    실제로 each()로 대체할 수 있는 경우가 많기 때문에 이 질문에 추천된 답변도 매우 다양합니다.

    으아아아

    또한:

    으아아아

    수동으로 하나씩 교체할 수 있습니다. 하지만 더 좋은 방법은 없을까?

    저는 이주 프로젝트를 돕고 있으며 이와 같은 사례가 150건이 넘습니다. 게을러서 코드를 위와 같은 방식으로 변환하는 Rector라는 도구를 만들었습니다 (더 많은 경우가 있지만 답변을 스팸으로 보내고 싶지 않습니다).

    PHP_72 컬렉션의 일부입니다.


    코드 업그레이드를 위한 4단계

    1. 설치

    으아아아

    2. rector.php구성 파일

    을 만듭니다. 으아아아

    3. PHP_72컬렉션

    추가 으아아아

    4. 코드에서 실행하세요

    으아아아

    이사에 도움이 되기를 바랍니다.


    오류나 예외가 있다면 총장님이 놓친 부분입니다. 문제를 생성하여 문제를 해결하고 가능한 모든 경우에 작동하도록 할 수 있습니다.

    P粉982881583
    1. 처음 두 가지 예시 사례에서는 key()current()를 사용하여 필요한 값을 할당할 수 있습니다.

      으아아아
    2. 으아아아

      이러한 경우 next()를 사용하여 나중에 커서를 앞으로 이동할 수 있지만 나머지 코드가 이에 의존하지 않는 경우에는 필요하지 않을 수 있습니다.

    3. 세 번째 경우에는 foreach() 循环,并在循环内部分配 $kv만 사용하는 것이 좋습니다.

      으아아아
    4. 네 번째 경우에는 list()에서 키가 무시된 것으로 보이므로 현재 값을 할당할 수 있습니다.

      으아아아

      처음 두 경우와 마찬가지로 나머지 코드가 $this->cache_data와 상호 작용하는 방식에 따라 $this->cache_data 交互,可能需要使用 next()를 사용하여 커서를 앞으로 이동해야 할 수도 있습니다.

    5. 다섯 번째 경우는 for() 루프로 대체할 수 있습니다.

      으아아아
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿