php基础巩固,PHP 基础巩固 -- 变量

变量类型变量以 $ 符号开始,后面跟着变量的名称

变量名必须以字母或者下划线字符开始

变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )

变量名不能包含空格

变量名是区分大小写的($y 和 $Y 是两个不同的变量)

Integer 整形整数必须至少有一个数字 (0-9)

整数不能包含逗号或空格

整数是没有小数点的

整数可以是正数或负数

整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)

1

2

3

4

5

6

7

8

9

10

11$x = 5985;

var_dump ($x); //int (5985)

echo "
";

$x = -345; // 负数

var_dump ($x); //int (-345)

echo "
";

$x = 0x8C; // 十六进制数

var_dump ($x); //int (140)

echo "
";

$x = 047; // 八进制数

var_dump ($x); //int (39)

Float 浮点型浮点数是带小数部分的数字,或是指数形式

1

2

3

4

5

6

7

8$x = 10.365;

var_dump ($x); // float(10.365)

echo "
";

$x = 2.4e3;

var_dump ($x); // float(2400)

echo "
";

$x = 8E-5;

var_dump ($x); // float(8.0E-5)

String 字符串一个字符串是一串字符的序列,就像 “Hello world!”

你可以将任何文本放在单引号和双引号中

1

2

3

4

5$x = "Hello world!";

echo $x; // Hello world!

echo "
";

$x = 'Hello world!';

echo $x; // Hello world!

Boolean 布尔型布尔型可以是 TRUE 或 FALSE

1

2$x=true;

$y=false;

布尔型通常是用于条件判断

Array 数组数组可以在一个变量中存储多个值

1

2$arr=array ("Volvo","BMW","Toyota");

var_dump ($arr); //array (3){[0]=>string (5)"Volvo" [1]=>string (3)"BMW" [2]=>string (6)"Toyota"}

Object 对象对象数据类型也可以用于存储数据

在 PHP 中,对象必须声明

首先,你必须使用 class 关键字声明类对象。类是可以包含属性和方法的结构

然后我们在类中定义数据类型,然后在实例化的类中使用数据类型

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25class Car

{

var $color;

function __construct ($color="green") {

$this->color = $color;

}

function what_color() {

return $this->color;

}

}

function print_vars ($obj) {

foreach (get_object_vars ($obj) as $prop => $val) {

echo "\t$prop = $val\n";

}

}

// 实例一个对象

$herbie = new Car ("white");

// 显示 herbie 属性

echo "\therbie: Properties\n";

print_vars ($herbie);

//herbie: Properties color = white

NULL 空值NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值

NULL 值指明一个变量是否为空值。 同样可用于数据空值和 NULL 值的区别

可以通过设置变量值为 NULL 来清空变量数据

1

2

3$x="Hello world!";

$x=null;

var_dump ($x); // NULL

变量检测isset — 检测变量是否已设置并且非 NULL

1isset ( mixed $var [, mixed $... ] ) : bool

检测变量是否设置,并且不是 NULL

如果已经使用 unset () 释放 / 销毁了一个变量之后。若使用 isset () 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是 null 字符(”\0”)并不等同于 PHP 的 NULL 常量

如果一次传入多个参数,那么 isset () 只有在全部参数都以被设置时返回 TRUE 计算过程从左至右,中途遇到没有设置的变量时就会立即停止

例子1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23$var = '';

// 结果为 TRUE,所以后边的文本将被打印出来。

if (isset ($var)) {

echo "This var is set so I will print.";

}

// 在后边的例子中,我们将使用 var_dump 输出 isset () 的返回值。

//the return value of isset ().

$a = "test";

$b = "anothertest";

var_dump (isset ($a)) // TRUE

var_dump (isset ($a, $b)); // TRUE

unset ($a);

var_dump (isset ($a)); // FALSE

var_dump (isset ($a, $b)); // FALSE

$foo = NULL;

var_dump (isset ($foo)); // FALSE

类型检测

gettypegettype — 获取变量的类型1

2

3

4

5ettype ( mixed $var ) : string

Warning

不要使用 gettype () 来测试某种类型,因为其返回的字符串在未来的版本中可能需要改变。此外,由于包含了字符串的比较,它的运行也是较慢的。

可以使用 is_* 函数代替。

1

2$a = '1';

echo gettype ($a); //string

返回的字符串的可能值为:

“boolean”(从 PHP 4 起)

“integer”

“double”(由于历史原因,如果是 float 则返回 “double”,而不是 “float”)

“string”

“array”

“object”

“resource”(从 PHP 4 起)

“NULL”(从 PHP 4 起)

“user function”(只用于 PHP 3,现已停用)

“unknown type”

is_*is_* — 判断是否是想要的类型

is_int,is_float,is_array,is_integer (),is_string (),is_object ()

1

2

3

4

5

6

7

8$a = '1';

if(is_int ($a)){

echo 'a 是整形 ';

} else {

echo 'a 不是整形 ';

}

//a 不是整形

变量打印echo,print,var_dump

echo — 可以输出一个或多个字符串

print_r — 以易于理解的格式打印变量

var_dump — 打印变量的相关信息

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34$a = 1;

$b = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'))

$c = array (1, 2, array ("a", "b", "c"));

echo $a; // 1

print_r ($b); // 输出结果

// Array

// (

// [a] => apple

// [b] => banana

// [c] => Array

// (

// [0] => x

// [1] => y

// [2] => z

// )

// )

var_dump ($b); // 输出结果

//array (3) {

// [0]=>

// int (1)

// [1]=>

// int (2)

// [2]=>

// array (3) {

// [0] =>

// string (1) "a"

// [1] =>

// string (1) "b"

// [2] =>

// string (1) "c"

// }

// }

类型转换PHP 中,变量的类型是可以随时转变的,最常见的是字符串与数字的转换,或是数字 / 字符串 -> 布尔值的转换

1

2

3

4

5

6

7

8

9

10

11// 字符串到数字的转换,从左到右截取,直到碰到不合法的数字,截取出来的部分转成数字

$a = '12';

$a = $a + 3;

var_dump ($a); //int (15)

$a = 123;

$a = $a . 'hello';

echo $a; // 123hello

// 到布尔值的转换,以下值,都被当成布尔值的假,而其他值,都被当成布尔值的真

// '', '0', 0, 0.0, NULL, FALSE, array (), var $var

赋值传值赋值与引用赋值

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17// 传值赋值

$li = 29;

$wang = 23;

$wang = $li;

var_dump ($li, $wang); //29, 29

$wang = 'w';

var_dump ($li, $wang); //29, w

// 引用赋值

$li = 29;

$wang = 23;

$wang = &$li;

var_dump ($li, $wang); //29, 29

$wang = 'w';

var_dump ($li, $wang); //w, w

释放 / 销毁unset — 释放给定的变量

1unset ( mixed $var [, mixed $... ] ) : void

unset () 销毁指定的变量

unset () 在函数中的行为会依赖于想要销毁的变量的类型而有所不同

如果在函数中 unset () 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset () 之前一样的值

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18$a = 99;

unset($a);

if(isset ($a)){

echo 'a 存在 ';

} else {

echo 'a 不存在 ';

}

//a 不存在

$li = 29;

$wang = &$li;

var_dump ($li, $wang); //29, 29

$wang = 20;

var_dump ($li, $wang); //20, 20

unset($li);

var_dump ($li, $wang); //null, 20

// 销毁后会提示 Notice: Undefined variable: li in xxxxxx

动态变量名用变量的值再做变量的名,如 $$a;

1

2

3

4

5

6// 动态变量名

$liubei = ' 河北人 ';

$laoda = 'liubei';

$paihang = 'laoda';

echo $laoda, $$laoda, $$$paihang; //liubei, 河北人,河北人

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值