欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

以php中的自增自自减运算符操作(整型,浮点型,字符串型,布尔型,空类型)数据

程序员文章站 2023-02-03 09:11:08
1.对整型前【后】自增(自减),在获取整型的值之前【后】,值递增(递减),结果为整型。 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_ ......
 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-generic
1.对整型前【后】自增(自减),在获取整型的值之前【后】,值递增(递减),结果为整型。
 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