Blogger Information
Blog 9
fans 0
comment 0
visits 7972
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
深入PHP变量的认识与浅谈变量的类型
若是梦终会醒
Original
618 people have browsed it

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’); |

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:脚本 语言都是解释型的, 所以是动态语言, 不是编译的
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post