1 // 環境 2 // 3 // php版本 4 // PHP 7.0.33-0+deb9u1 (cli) (built: Dec 7 2018 11:36:49) ( NTS ) 5 // Copyright (c) 1997-2017 The PHP Group 6 // Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies 7 // with Zend OPcache v7.0.33-0+deb9u1, Copyright (c) 1999-2017, by Zend Technologies 8 // 9 // vs code 資訊 10 // 版本: 1.36.0 11 // 提交: 0f3794b38477eea13fb47fbe15a42798e6129338 12 // 日期: 2019-07-03T13:20:56.241Z 13 // Electron: 4.2.5 14 // Chrome: 69.0.3497.128 15 // Node.js: 10.11.0 16 // V8: 6.9.427.31-electron.0 17 // OS: Linux x64 4.15.0-30deepin-generic1.對整型前【后】自增(自減),在獲取整型的值之前【后】,值遞增(遞減),結果為整型,
1 $a = 1; 2 var_dump( $a++ ); 3 $a = 1; 4 var_dump( ++$a ); 5 $a = 1; 6 var_dump( $a-- ); 7 $a = 1; 8 var_dump( --$a ); 9 10 // int(1) 11 // int(2) 12 // int(1) 13 // int(0)2.對浮點型前【后】自增(自減),在獲取浮點型的值之前【后】,值遞增(遞減),結果為整數時,輸出整數,但型別依然為浮點型,
1 $a = 1.0; 2 var_dump( $a++ ); 3 var_dump( $a ); 4 $a = 1.0; 5 var_dump( ++$a ); 6 $a = 1.0; 7 var_dump( $a-- ); 8 var_dump( $a ); 9 $a = 1.0; 10 var_dump( --$a ); 11 12 // float(1) 13 // float(2) 14 // float(2) 15 // float(1) 16 // float(0) 17 // float(0)
3.對字串型整數前自增(自減),在獲取字串型整數之前,值遞增(遞減),結果為整型,
1 $a = '1'; 2 var_dump( ++$a ); 3 $a = '1'; 4 var_dump( --$a ); 5 6 // int(2) 7 // int(0)
4.對字串型整數后自增(自減),在獲取字串型整數之后(獲取的是字串型),值遞增(遞減),結果為整型,
1 $a = '1'; 2 var_dump( $a++ ); 3 var_dump( $a ); 4 $a = '1'; 5 var_dump( $a-- ); 6 var_dump( $a ); 7 8 // string(1) "1" 9 // int(2) 10 // string(1) "1" 11 // int(0)
5.對字串型浮點數前自增(自減),在獲取字串型浮點數之前,值遞增(遞減),結果為整數時,輸出整數,結果為浮點型,
1 $a = '1.0'; 2 var_dump( ++$a ); 3 $a = '1.0'; 4 var_dump( --$a ); 5 6 // float(2) 7 // float(0)
6.對字串型浮點數后自增(自增),在獲取字串型浮點數之后(獲取的是字串型),值遞增(遞減),結果為整數時,輸出整數,結果為浮點型,
1 $a = '1.0'; 2 var_dump( $a++ ); 3 var_dump( $a ); 4 $a = '1.0'; 5 var_dump( $a-- ); 6 var_dump( $a ); 7 8 // string(3) "1.0" 9 // float(2) 10 // string(3) "1.0" 11 // float(0)
7.對字串型字符序列前【后】自增(字串不能自減,只支持純字母),在獲取字串型字符序列之前【后】,值型別不變, 值的結果分為如下幾種情況: 第一種,字符序列全是小寫,滿小z進一,類似加法, 第二種,字符序列全是大寫,滿大Z進一,也類似加法, 第三種,字符序列包含小寫和大寫,如果某位原本就是大寫,那么滿大Z進一位,且這一位永遠不會變成小寫;如果某位原本就是小寫,那么滿小z進一位,這一位永遠也不會變成大寫,
1 $a = 'az'; 2 var_dump( ++$a ); 3 $a = 'az'; 4 var_dump( $a++ ); 5 6 $a = 'AZ'; 7 var_dump( ++$a ); 8 $a = 'AZ'; 9 var_dump( $a++ ); 10 11 $a = 'aZ'; 12 var_dump( ++$a ); 13 $a = 'aZ'; 14 var_dump( $a++ ); 15 16 // string(2) "ba" 17 // string(2) "az" 18 // string(2) "BA" 19 // string(2) "AZ" 20 // string(2) "bA" 21 // string(2) "aZ"
8.對布爾型前【后】自增【減】,布爾型true和布爾型false值和型別不會改變,
1 $a = true; 2 var_dump( $a++ ); 3 var_dump( $a ); 4 $a = true; 5 var_dump( ++$a ); 6 $a = true; 7 var_dump( $a-- ); 8 var_dump( $a ); 9 $a = true; 10 var_dump( --$a ); 11 12 $a = false; 13 var_dump( $a++ ); 14 var_dump( $a ); 15 $a = false; 16 var_dump( ++$a ); 17 $a = false; 18 var_dump( $a-- ); 19 var_dump( $a ); 20 $a = false; 21 var_dump( --$a ); 22 23 // bool(true) 24 // bool(true) 25 // bool(true) 26 // bool(true) 27 // bool(true) 28 // bool(true) 29 // bool(false) 30 // bool(false) 31 // bool(false) 32 // bool(false) 33 // bool(false) 34 // bool(false)
9.對空型別null前自增,在獲取空型別null之前,值遞增,結果為整型,
1 $a = null; 2 var_dump( ++$a ); 3 4 // int(1)
10.對空型別null前自減,在獲取空型別null之前,對其進行自減,空型別null不會改變,
1 $a = null; 2 var_dump( --$a ); 3 4 // NULL
11.對空型別null后自增,在獲取空型別null之后(獲取的是空型別null),值遞增,結果為整型,
1 $a = null; 2 var_dump( $a++ ); 3 var_dump( $a ); 4 5 // NULL 6 // int(1)
12.對空型別null后自減,在獲取空型別null之后(獲取的是空型別null),對其進行自減,空型別值null不會改變,
1 $a = null; 2 var_dump( $a-- ); 3 var_dump( $a ); 4 5 // NULL 6 // NULL
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/131449.html
標籤:PHP
