【PHP】+$var과 $var++의 차이

7226 단어 PHP

결론


점증하는 시간이 다르다.

설명


연산자
이름:
반환값
$var++
후면 증분
$var
++$var
전면 증분
$var + 1
$var--
후면 감량
$var
--$var
예감량
$var - 1
참조: 프로그래밍 PHP(O'REILY)
4
  • 증가 값이 증가하기 전에 원래 값으로 돌아갑니다
  • 4
  • 이전 증가분은 증가된 후에 새 값으로 돌아갑니다
  • 문자보다 코드를 보면 이해하기 쉽다.

    후면 증분

    <?php
    $var = 1;
    echo '$var++は、' . $var++; #インクリメントする前に元の$var = 1を返す
    echo '$varは、' . $var;     #インクリメントした後の新しい値を返す
    #$var++は、1
    #$varは、2
    
    

    전면 증분

    <?php
    $var = 1;
    echo '++$varは、' . ++$var; #インクリメントした後の$var = 2を返す
    echo '$varは、' . $var;     #既にインクリメントされているので$var = 2
    #++$varは、2
    #$varは、2
    

    기준


    PHP 5.5.6
    전치 증량(감량)은 최대 3.8% 정도 빠르지만 오차 범위 내에 있을 수 있다.
    (++$i가 두 번 진행된 것은 시작된++$i가 왠지 느려졌기 때문이다)
    <?php
    require_once('Benchmark/Timer.php');
    
    function before_inc($num) {
        for($i = 0; $i < $num; ++$i) {
    
        }
    }
    
    function after_inc($num) {
        for($i = 0; $i < $num; $i++) {
    
        }
    }
    
    
    function before_dec($num) {
        for($i = $num; $i > 0; --$i) {
    
        }
    }
    
    function after_dec($num) {
        for($i = $num; $i > 0; $i--) {
    
        }
    }
    
    $num = 10000;
    echo $num . "\n";
    
    $timer = new Benchmark_Timer();
    $timer->start();
    
    before_inc($num);
    $timer->setMarker('++$i_1');
    
    before_inc($num);
    $timer->setMarker('++$i_2');
    
    after_inc($num);
    $timer->setMarker('$i++');
    
    before_dec($num);
    $timer->setMarker('--$i');
    
    after_dec($num);
    $timer->setMarker('$i--');
    
    $timer->stop();
    $timer->display();
    
    

    참고 자료


    PHP 버전 2 프로그래밍
    전면 및 후면 증가의 차이점
    PHP 성능 기준 후치 덧셈, 후치 덧셈(++,-)의 전치 덧셈, 전치 덧셈(++,-)보다 빠릅니다.

    좋은 웹페이지 즐겨찾기