Blogger Information
Blog 62
fans 7
comment 2
visits 58283
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP 基本知识入门
我是郭富城
Original
767 people have browsed it

PHP 基本知识入门

1 php 是什么

  • PHP: (PHP: Hypertext Preprocessor), 超文本预处理器的缩写
  • PHP 是开源的,免费的,运行在服务端的,用来动态生成网页数据的脚本语言
  • 所谓脚本语言,是指不需要编译,直接由解释器/虚拟机执行的编程语言

    PHP 语法并不多,要对自己有信心

2. php 程序执行流程

  • php 程序是用 php 指令编写并由 php 解析器执行的代码
  • php 程序必须使用.php做为扩展名
  • php 程序可以使用标签方式嵌入到 html 文档中

    请求的是 php 文件,服务器会解析成 html 代码返回浏览器

执行流程哪下:

  1. 客户端请求服务器端的 php 程序
  2. 服务器端将 php 程序转发给 php 解释器执行
  3. php 解释器执行完毕将生成的 html 或其它内容返回到服务器
  4. 服务器将最终生成的 html 代码做为响应内容返回客户端

3. php 集成运行环境

初学者推荐使用集成环境,省去手工逐一安装配置麻烦

序号 集成环境 操作系统 描述
1 phpStudy Windows / Linux 中文,免费,功能全, 推荐
2 MAMP MacOS 英文,收费, 功能全, 推荐

4. php 程序文档

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

php 标记之外的内容会原样返回客户端,如 html 代码
php 代码可以写在 html 代码中的任何地方

  1. <?php
  2. // php程序文档基本结构
  3. function sum(int $a, int $b) : int
  4. {
  5. return $a + $b;
  6. }
  7. echo sum(10, 20);

当 php 文档只有 php 内容时,结束标记?>请不要写,如果是嵌入 html 文档则需要

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <?php
  10. // php程序文档基本结构
  11. function sum(int $a, int $b) : string
  12. {
  13. return "$a + $b = " . ($a + $b);
  14. }
  15. echo sum(10, 20);
  16. ?>
  17. </body>
  18. </html>

5. 打印结果

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

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

  1. <?php
  2. # php打印结果
  3. # echo和print不是函数,他是语言结构,指令
  4. $email = 'admin@php.edu';
  5. //echo
  6. echo $email, '<br>';
  7. //echo没有返回值
  8. echo print $email;
  9. //print,有返回值,如果成功就是返回1(true)
  10. echo '<hr>';
  11. // var_dump():函数
  12. // 函数必须用括号调用
  13. var_dump($email);
  14. //var_dump()不仅可以打印出来,还可以返回字符类型以及多少个字符
  15. echo '<hr>';
  16. var_export($email);
  17. // var_export返回php代码,比如动态生成一个数组,创建一个文件

6. 变量命名

  • 变量名区分大小写,但是函数不区分;
  • 正确的变量必须使用\$作为起始符号;
  • 变量名不允许使用数字开始;
  • 正确写法 变量名:\$ + php 标识符
  • 必须由以下三种字符组成:大小写的英文字母,下划线,数字,且不能以数字开始
  1. <?php
  2. # 变量命名
  3. $username = 'admin';
  4. $userName = 'peter zhu';
  5. //变量名区分大小写,但是函数区分
  6. echo $username, '<br>' , $userName, '<hr>';
  7. //正确的变量必须使用$
  8. $hello='php';
  9. $123abc='php';

7. php 变量是弱类型

  • php 没有变量声明的概念,它的类型由赋予他的值决定
  1. <?php
  2. # php变量是弱类型
  3. $var=100;
  4. var_dump($var);
  5. echo '<hr>';
  6. $var = 'hello';
  7. var_dump($var);
  8. //php没有变量声明的概念,它的类型由赋予他的值决定
  9. echo '<hr>';

8. 变量的传递方式

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

9. 可变变量

  • 可变变量:变量的标识符可以动态的改变
  • 数据表查询的时候需要动态的改变变量名,比如说图片处理,http 处理等等
  1. <?php
  2. # 可变变量:变量的标识符可以动态的改变
  3. $var = 'email';
  4. //变量名email恰好是变量var的值
  5. // $email = 'admin@php.cn';
  6. $$var='peter@php.cn';
  7. echo $email;

10. 检测和删除一个变量

  • 检测:isset()
  • 删除:unset()
  • 如果变量已经定义但是未赋值(初始化),默认用 NULL 进行赋值
  • 初始化:第一次赋值
  • 更新/修改:第二次赋值;
  • is_null()判断是否没有赋值
  • empty()判断是否为空,但是有值
  1. <?php
  2. // error_reporting(E_ALL);
  3. # 检测与删除
  4. //echo $username;
  5. if (isset($username)) echo $username, '<br>';
  6. $username = 'zhu';
  7. // echo $username . '<br>';
  8. //变量删除或者销毁
  9. unset($username);
  10. if (isset($username)){
  11. echo $username, '<br>';
  12. }else{
  13. echo '变量未定义';
  14. }
  15. echo '<hr>';
  16. //如果变量已经定义但是未赋值(初始化),默认用NULL进行赋值
  17. //初始化:第一次赋值
  18. //更新/修改:第二次赋值;
  19. $email;
  20. $email = NULL;
  21. var_dump(is_null($email));
  22. echo '<hr>';
  23. $var = '';
  24. var_dump(empty($var));

11. 数据类型

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

12. 总结

php 语法并不多,需要对自己的学习有信心,客户端请求一个 php 程序(或者 url),服务器 php 解析器(如 php.exe)生成 html 返回给服务器,服务器再传送相应给客户端。浏览器并不能直接解析 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