博客列表 >深入PHP变量的认识与浅谈变量的类型

深入PHP变量的认识与浅谈变量的类型

若是梦终会醒
若是梦终会醒原创
2020年04月16日 13:28:01626浏览

PHP 变量

1.1 初识php

PHP是编译型语言

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>php基础</title>
  7. </head>
  8. <body>
  9. <!-- php start -->
  10. <?php
  11. //创建sum方法函数 指定接收x型参变量类型 为整形 指定返回字符串类型
  12. function sum(int $a, int $b) : string
  13. {
  14. //返回 字符串 = 整形相加 其中.为字符串拼接
  15. return "$a + $b = " . ($a + $b) ;
  16. }
  17. //打印 实参10,30在中的sum函数中执行的结果
  18. echo sum(10, 30);
  19. ?>
  20. <!-- php end -->
  21. </body>
  22. </html>

在HTML中”<?PHP”声明PHP代码开始

“?>”php声明代码结束

1.2 php输出语句

  1. echo //输出
  2. print//输出,输出成功返回1
  3. var_dump()// 输出数据的详细信息,带有数据类型和数据长度

1.3 变量

变量的本质就是内存中的一段空间

1.3.1 变量的命名规则

  1. 变量必须以$开头,$符不是变量的一部分,仅表示后面的标识符是变量名。
  2. 除了$以外,以字母、下划线开头,后面跟着数字、字母、下划线
  3. 变量名区分大小写,$aa和$Aa是两个空间

PHP语句必须以分号结尾

1.3.2 变量类型可变

变量类型可以被转换,由字符串型转换成整形,由整形转换成数组型等等

  1. //声明变量为字符创型
  2. $str="我是字符串";
  3. //打印
  4. var_dump($str); //string(15) "我是字符串"
  5. //声明变量为整形
  6. $str=10;
  7. var_dump($str);//int(10)
  8. //声明变量为数组型
  9. $str=['a','b',1];
  10. var_dump($str);// array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> int(1) }

小结:

PHP是弱类型语言

1.3.3 变量传递

变量的传递有值传递和引用传递(地址传递)

  1. //值传递
  2. $price1=10; //将10付给$num1
  3. $price2=$price1; //将$num1的值付给$num2
  4. $price2=20; //更改$num2
  5. echo $price1, '----', $price2, '<br>';//10----20
  1. //引用传递
  2. $price1=10; //将10付给$num1
  3. $price2=&$price1; //将$num1的地址付给$num2
  4. $price2=20; //更改$num2
  5. echo $price1, '----', $price2, '<br>';//20----20

小结:

1、参数的传递有两种,值传递和地址传递

2、&表示获取变量的地址

3、值传递中,一个变量变了,另一个变量没有影响,因为是两个空间

4、地址传递中,一个变量变了,另一个也变了,因为两个变量指向同一个空间

1.3.4 可变变量

变量的标识符/变量名称,可以动态的改变, 变量名可以来自另一个变量

  1. $var = 'email';
  2. // 变量名email, 恰好是变量$var的值
  3. // $email = 'peter@php.cn';
  4. $$var = 'peter@php.cn';
  5. echo $email;

小结:

和人称谓差不多, 就家里人 你可以称为 儿子 爸爸 哥哥 弟弟 叔叔 等..

1.3.5 检测与删除变量

  1. isset() //检测是否存在变量 存在返回 true 否则返回false
  2. is_null()//检测变量是否是未定义 是返回true 否则返回false
  3. empty()//检测变量是否为空 是返回true 否则返回false
  4. unset()//销毁变量
  1. $b=null;
  2. if(isset($b)){
  3. echo 1111;
  4. }
  5. //不输出
  6. $b=null;
  7. if(empty($b)){
  8. echo 1111;
  9. }
  10. //输出1111
  1. if(is_null($b)){
  2. echo 1111;
  3. }
  4. //报错
  5. if(empty($b)){
  6. echo 1111;
  7. }
  8. //输出 1111
  1. $b ='';
  2. if (isset($b)) {
  3. echo 1111;
  4. }
  5. //输出 1111;
  6. $b ='';
  7. if (is_null($b)) {
  8. echo 1111;
  9. }
  10. //不输出

小结:

empty

  如果 变量 是非空或非零的值,则 empty() 返回 FALSE。换句话说,””、0、”0”、NULL、FALSE、array()、var $var、未定义; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。

  isset

  如果 变量 存在(非NULL)则返回 TRUE,否则返回 FALSE(包括未定义)。变量值设置为:null,返回也是false;unset一个变量后,变量被取消了。注意,isset对于NULL值变量,特殊处理。

  is_null

  检测传入值【值,变量,表达式】是否是null,只有一个变量定义了,且它的值是null,它才返回TRUE . 其它都返回 FALSE 【未定义变量传入后会出错!】

1.3.5 变量类型

  1. 基本类型

    | 类型 | 示例 |
    | ——— | ——————- |
    | 数值 | $int=123; |
    | 字符串 | $str=’123str’ |
    | 布尔 | $bool=true |

  2. 复合类型

    | 类型 | 示例 |
    | —— | ——————————————— |
    | 数组 | $arr=[1,’1’,’abc’] |
    | 对象 | $obj= new foo; $obj->do_foo(); |

  3. 特殊类型

    | 类型 | 示例 |
    | ———— | —————————————— |
    | null | $num = null; |
    | 资源类型 | $f = fopen(‘demo7.php’,’r’); |

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议