博客列表 >php基础学习笔记和感想自己的理解

php基础学习笔记和感想自己的理解

移动用户-5435854
移动用户-5435854原创
2020年04月16日 12:56:52547浏览

php 程序文档

序号 组成 描述
1 <?php ... ?> PHP 代码标记
2 ; 分号 语句分隔符,代码块使用右大括号
3 空白符 合理使用空白符可增强代码可读性
4 注释 // 单行注释, /* 多行注释 */

注释还支持#

php 标记之外的内容会原样返回客户端,如 html 代码

  • 这段代码意思是两个变量相加
  1. function sum(int $a, int $b) : string
  2. {
  3. return "$a + $b = " . ($a + $b) ;
  4. }
  5. echo sum(10, 70);
  6. ?>

打印运行结果

我的理解:这里指的打印是指显示在浏览器中而并非真的打印

序号 指令 描述
1 echo 语言结构, 可查看多个变量
2 print 语言结构,功能与echo类似,区别是有返回值
3 print_r() 函数,以更容易理解的格式打印变量信息,常用于数组
4 var_dump() 函数,可查看一个变量更多信息,如类型
5 var_export() 函数,输出或返回一个变量的字符串表示(源代码)

实际工作中, echovar_dump()基本可以满足大多数需求

  1. # php打印结果 (这里指的打印是指显示在浏览器中而并非真的打印)
  2. $email = 'admin@php.cn';
  3. // echo, 没有返回值
  4. echo $email, '<br>';
  5. // print, 有返回值,如果成功返回1
  6. // echo , print 不是函数, 是语言结构, 指令
  7. echo print $email;
  8. echo '<hr>';
  9. // var_dump(): 函数
  10. var_dump($email);
  11. echo '<hr>';
  12. // var_export(): 函数
  13. var_export($email);

变量

  1. <?php
  2. # 变量命名
  3. $username = 'admin';
  4. $userName = 'peter';
  5. // 变量名区分大小写
  6. echo $username, '<br>' , $userName, '<hr>';
  7. // 没有使用$开始, 正确的变量必须使用$做为起始符号
  8. // hello = 'php';
  9. // 变量名中不允许使用数字开始
  10. // $123abc = 'php';
  11. // 变量名中使用了特殊符号
  12. // $user@id = 100;
  13. // 变量名: $ + php标识符
  14. // php有效标识符: 必须由以下三种字符组成: 大小写的英文字母, 下划线, 数字, 且不能以数字开始
  15. // 正确但无意义
  16. $aaa = 'php.cn';
  17. $_ = 888;;
  18. $_123 = 999;
  19. echo $_123;

php 是弱类型

我的理解:第一次接触代码,不知道啥事强类型,老师说是前类型会在前面先声明。弱类型是有奶就是娘。给他什么值就是什么类型。

string:字符串

int:字符

  1. # php变量是弱类型
  2. $var = 100;
  3. var_dump($var);
  4. echo '<hr>';
  5. $var = 'Hello';
  6. var_dump($var);

变量的传递方式

我的理解:值传递和引用传递,值传递如果第一个变量的值改了,第二个变量的值是不变的,而引用传递第二个变量相当于第一个变量的别名,第一个变量值改了,第二个也相应的改。

  1. // 值传递和引用传递
  2. //1. 值传递
  3. $price1 = 99;
  4. // 只是将$price1变量的值赋值给了一个新变量
  5. $price2 = $price1;
  6. echo $price1, '----', $price2, '<br>';
  7. // 更新
  8. $price1 = 299;
  9. echo $price1, '----', $price2, '<br>';
  10. echo '<hr>';
  11. // 2. 引用传递
  12. $price1 = 99;
  13. // 引用赋值, &: 取地址符, 引用符
  14. // 相当于给原变量起了一个别名
  15. $price2 = &$price1;
  16. echo $price1, '----', $price2, '<br>';
  17. // 更新
  18. $price1 = 299;
  19. echo $price1, '----', $price2, '<br>';

可变变量

我的理解:有点像代数。

  1. # 可变变量: 变量的标识符/变量名称,可以动态的改变, 变量名可以来自另一个变量
  2. $var = 'email';
  3. // 变量名email, 恰好是变量$var的值
  4. // $email = 'peter@php.cn';
  5. $$var = 'peter@php.cn';
  6. echo $email;

检测与删除函数

我的理解:

isset检测用,看看变量有没有赋值

unset:删除变量

变量如果未赋值就是:null

第一次赋值叫:初始化

第二次赋值叫:更新

检测是null吗用is_null
检测是不是空:empty

  1. # 检测与删除变量
  2. // echo $username;
  3. if (isset($username)) echo $username, '<br>';
  4. $username = 'peter zhu';
  5. // 变量删除/销毁
  6. unset($username);
  7. if (isset($username)) {
  8. echo $username, '<br>';
  9. } else{
  10. echo '变量未定义';
  11. }
  12. echo '<hr>';
  13. // 变量已定义而未初始化,默认用NULL进行赋值
  14. // 初始化:第一次赋值
  15. // 更新/修改: 第二次赋值
  16. $email;
  17. $email = null;
  18. var_dump(is_null($email));
  19. echo '<hr>';
  20. $var = '';
  21. var_dump(is_null($var));
  22. var_dump(empty($var));

变量的数据类型:

我的理解:

基础类型

string:字符串

int:数值

bool(ture或false):布尔值

复合类型

array:数组:用[]括起来

对象:这个没太明白。

特殊类型

null:空
resource:文件

gettype函数:返回变量类型

  1. # 数据类型
  2. // 1. 基本类型
  3. // 字符串: string
  4. $name = '手机';
  5. // 数值: int, float
  6. $price = 3890;
  7. // 布尔: true / false
  8. $is5G = true;
  9. echo gettype($is5G),'<hr>';
  10. // 2. 复合类型
  11. // 对象
  12. $obj = new stdClass;
  13. $obj->email = 'admin@php.cn';
  14. echo $obj->email . '<br>';
  15. // 数组
  16. $arr = ['电脑', 8000, 'huawei'];
  17. // $str=print_r($arr, true);
  18. // echo '<pre>'.$str.'</pre>';
  19. echo '<pre>'.print_r($arr, true).'</pre>';
  20. // 3. 特殊类型
  21. $num = null;
  22. var_dump($num);
  23. // 资源类型, 文件
  24. $f = fopen('demo7.php','r');
  25. var_dump($f);
  26. echo gettype($f),'<hr>';
  27. if (gettype($f) === 'resource') {echo 'demo7.php是一个文件';}

感想:php感觉很有意思,喜欢折腾的我,学习代码,确实是特别适合。喜欢折腾,琢磨,平衡好工作和学习吧。现在就是觉得新知识很多,总是平衡不好。

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