Blogger Information
Blog 17
fans 1
comment 0
visits 14614
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP之变量
邱世家的博客
Original
657 people have browsed it

PHP基本常识:

NO 释义
<?php 起始标签
?> 结束标签
; 语句分隔符
// 单行注释
echo 可以打印多个变量,且没有返回值
print 仅能打印一个变量,返回1
print_r( ,true/false) 以人性化的方式打印变量,第二个值为true不打印,返回给调用者
gettype() 获取变量类型
var_dump() 获取变量完整信息
var_export() 返回php源代码
error_reporting(E_ALL) 打开所有报错
isset($变量名) 变量检测。该变量存在且值不为null,才是true(才打印)
unset($变量名); 销毁变量,没有返回值
  1. <?php
  2. //声明变量
  3. $username = 'qj';
  4. $userName = 'QQQ';
  5. // echo,可以打印多个变量,支持html标签和自变量,无返回值
  6. echo $username, $userName,'<br>';
  7. // print 只能打印一个变量 返回1
  8. echo print $username;
  9. echo '<br>';
  10. // gettupe():获取变量类型,当前是string
  11. echo gettype($username),'<hr>';
  12. //var_dump():获取变量完整信息
  13. var_dump($username);
  14. echo '<hr>';
  15. //var_export:返回的是php的源代码
  16. var_export($username);

变量命名规则:

  • 必须以$开始,且开头只能用下划线(_)或者英文字母。
  • 变量名中不允许使用特殊字符,可以用中文 但是不能用
  • 变量名区分大小写(函数并不区分),要望文生义。
    1. <?php
    2. $username = 'admin';
    3. $userName = 'qj';
    4. echo $username,'<br>';
    5. echo $userName,'<hr>';
    6. // 函数不区分大小写。 strtoupper:将一个字符串转为大写
    7. echo strtoupper($userName),'<br>';
    8. echo STRTOUPPER($userName),'<hr>';

变量传值:是指有一个变量已经存在数据,然后将该变量赋值给另外一个变量

  • 值传递:(变量代表的数据传递,变量自身不受彼此影响,在一个变量发生改变后,另外一个变量不受影响)
  1. // 值传递(默认方式)
  2. $price1 = 3999;
  3. $price2 =$price1;
  4. echo $price2,'<br>';
  5. $price1 = 6999;
  6. echo $price2,'<hr>';
  7. $price1 = 3999;
  8. $price2 =$price1;
  9. echo $price1,'<br>';
  10. $price2 = 6999;
  11. echo $price1,'<hr>';
  • 无论改变那个变量的值 另一个总是不变

  • 引用传递:变量代表的数据所在地址传递,一个改变会影响另外一个,一个变量改变后,另外一个变量跟着改变

  1. //引用传递 在等号的右边/右值前面加上&(取地址符)
  2. $price1 = 3999;
  3. $price2 =&$price1;
  4. echo $price2,'<br>';
  5. $price1 = 6999;
  6. echo $price2,'<hr>';
  7. $price1 = 3999;
  8. $price2 =&$price1;
  9. echo $price2,'<br>';
  10. $price2 = 6999;
  11. echo $price1,'<hr>';
  • 随便改变任意一个变量 另一个跟着改变

可变变量:是获取一个普通变量的值,作为这个可变变量的变量名。

  1. /* 先创建变量 $email 然后打印输出,
  2. 在创建$var变量(var的值等于email变量的名),
  3. $email可以写成:$$var(可变变量)。都是输出admin@php.cn
  4. */
  5. $var = 'email';
  6. // $email = 'admin@php.cn';
  7. // 变量名可以动态创建
  8. $$var = 'admin@php.cn';
  9. echo $email;

变量的检测与删除

  1. // 打开所有报错
  2. error_reporting(E_ALL);
  3. // echo $username;
  4. // isset() 变量检测
  5. $username = '丘佳';
  6. $username = null;
  7. // isset(): 如果该变量存在且值不为null,才是true(才打印)
  8. if(isset($username)) echo $username.'<br>';
  9. else echo '没有定义该变量';
  10. // unset():销毁变量,没有返回值
  11. unset($username);
  12. // 因为删除了浏览器会报错 提示没有定义变量
  13. echo $username;

数据类型:{四种标量(基本)类型,两种复合类型,两种特殊类型}

  • 整数/型(integer):包括正整数 负整数 和0。
    必须至少有一个数字(0~9);
    不能包含逗号或空格;
    不能包含小数点;
    可以是正数或负数。

  • 浮点型(float/double):浮点型也是用来表示数字的,与整型不同除了可以表示整数外它还可以用来表示小数和指数

  • 字符串(string):单引号方式、双引号方式、Heredoc 方式。
  • 布尔型(boolean):只有两种取值,true和false而且不区分大小写

  • 复合数据类型:复合数据类型允许将多个类型相同的数据聚合在一起,表示为一个实体项。复合数据类型包括数组(Array)和对象(Object)
  1. //2. 复合类型,对象,数组
  2. $obj = new stdClass;
  3. // 对象是属性和方法的无序集合
  4. $obj->name ='peter zhu';
  5. echo $obj->name,'<hr>';
  6. // 数组
  7. $arr = ['电脑', 4500, 'dell'];
  8. // print_r() 以人性化的方式打印变量,true表示不直接打印,而返回给调用者
  9. // 返回就一定要有个接受者
  10. $str = print_r($arr,true);
  11. echo '<pre>'.$str.'</pre>';
  12. // 基本类型:标量,单值。
  13. // 复合类型:多值。
  14. // 特殊类型
  15. // null
  16. $num = null;
  17. var_dump($num);
  18. echo '<br>';
  19. //文件资源类型
  20. $f = fopen('demo2.php','r');
  21. var_dump($f);

数据类型转换:

  1. <?php
  2. // 变量的类型转换(运算时候)
  3. // 自动转换:
  4. $a = null;
  5. $b = true;
  6. $c = false;
  7. $d = '5g';
  8. $e = 'php';
  9. $f = 15;
  10. // null 在算数运算中自动转为0
  11. echo $a + 10, '<br>';
  12. // 布尔值true在算数运算中 转为 1和 flase转为0
  13. echo $b + 10, '<br>';
  14. echo $c + 10, '<br>';
  15. //字符串只有以数值或者小数点开始的时候,
  16. //系统才会有可能将字符串进行数值转换,要不然直接转换成0
  17. echo $d + 10, '<br>';
  18. echo $f + 10, '<br>';
  19. // . 是字符串连接
  20. // 吧sf转换为'15'
  21. echo $e . $f, '<br>';
  22. echo '<hr>';
  23. // 强制转换 不推荐使用
  24. echo (int)$e + 10, '<hr>';
  25. // intval(),strval() 只是临时转换
  26. // intval() 将字符串转为整数
  27. echo intval($e) + 20, '<hr>';
  28. echo gettype($e),'<hr>';
  29. // strval() 将整数转为字符串
  30. echo strval($f) . 'hello';
  31. echo '<hr>';
  32. echo gettype($f);
  33. echo '<hr>';
  34. //永久转换 settype();
  35. settype($f,'string');
  36. echo gettype($f);

总结:

与之前相比 还是进步了一些,现在开始第二阶段的php,感觉又回到了小白,还是需要继续坚持。

Correcting teacher:GuanhuiGuanhui

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
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!