博客列表 >PHP 基本知识入门

PHP 基本知识入门

我是郭富城
我是郭富城原创
2020年04月16日 02:28:29766浏览

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 文件。

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