Blogger Information
Blog 24
fans 0
comment 12
visits 15604
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
php基础学习笔记和感想自己的理解
移动用户-5435854
Original
550 people have browsed it

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

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