博客列表 >初学PHP

初学PHP

王佳祥
王佳祥原创
2020年07月03日 15:49:311044浏览

初学PHP

一、php基本概念

1.PHP 是什么?

  • PHP(”PHP: HypertextPreprocessor”,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到 HTML中,尤其适合 web 开发。

2.PHP 能做什么?

  • PHP 能做任何事。PHP 主要是用于服务端的脚本程序,因此可以用 PHP 来完成任何其它的 CGI 程序能够完成的工作,例如收集表单数据,生成动态网页,或者发送/接收 Cookies。但 PHP 的功能远不局限于此。

二、PHP环境配置:windows 环境配置(强烈推荐phpStudy)

1. 进入官网下载,www.xp.cn

2.安装时可以自定义安装路径,安装完成后如下图:

3.选择自己需求的php、apache、mysql版本下载并启动

4.创建自己的网站站点,默认基本配置,填写自己喜欢的域名就行

5.创建完成后,点击管理,打开网站

6.网站创建成功后,php环境就配置完成了

三、php环境配置:虚拟机Linux 环境配置(强烈推荐小皮面板)

1.下载虚拟机VMware,并自定义安装路径

  • 浏览器搜索VMware下载

2.安装很简单默认安装,自己选好安装路径

  • 安装好如图:

3.然后下载Linux系统,我们这里下载CentOS7标准版,下载地址:点击下载

4.下载完成后,打开VMware虚拟机,新建虚拟机

  • 默认典型安装->下一步

  • 选择安装程序光盘映像文件,找到刚才下载的CentOS7,单机下一步

  • 自定义虚拟机名称,默认也可以,自定义虚拟机安装路径

  • 指定磁盘容量,默认就好,单击下一步

  • 设置需要的硬件配置,单机完成,默认也可以影响并不大,一般都是去掉声卡和打印机

  • 单机完成后CentOS7系统就开始安装了

  • 设置时区为上海并调整时间

  • 单机软件选择

  • 配置好以后,点击开始安装

  • 设置root密码和用户名

  • 然后等待安装完成后重启即可

  • 右键打开终端,输入ifconfig,获取当前ip地址

  • 虚拟机安装完成了,接下来在本机安装Xsheel,用来连接虚拟机

5.XSheel安装

  • 下载地址(个人家庭版免费使用):点击下载
  • 解压并安装,自定义安装路径

  • 新建会话

  • 输入Linux系统设置的用户名,密码

  • 下载小皮面板,输入:(yum install -y wget && wget -O install.sh https://download.xp.cn/install.sh && sh install.sh) 回车

  • 等待安装完成后如图:

  • 我们使用内网来访问下,复制内网地址,在浏览器中打开,并输入小皮面板的默认用户名和密码登录

  • 登录后下载需要的php版本和mysql版本

  • 启动 apache ,创建网站站点

  • 用域名访问站点

  • 访问成功,虚拟机 Lunix 环境搭建完成

四、php基本语法

1. 开始标签,结束标签

  • <?php 和 ?>

  • 如果文件内容是纯 PHP 代码,最好在文件末尾删除 PHP 结束标记。这可以避免在 PHP 结束标记之后万一意外加入了空格或者换行符,会导致 PHP 开始输出这些空白,而脚本中此时并无输出的意图。

  1. <?php
  2. //开始标签
  3. //php程序由哪几部分组成
  4. //代码
  5. function sum(int $a,int $b){
  6. //返回结果给调用者
  7. return "{$a} + {$b} =" .($a+$b);
  8. }
  9. //将执行结果打印输出
  10. echo sum(11,20);//echo 效率最高,没有返回值
  11. //结束标签
  12. ?>
  1. <?
  2. //php打印输出
  3. $email = 'admin@php.cn';
  4. //echo 回显,效率最高,没有返回值
  5. echo $email,'<br>';
  6. echo '<span style="color:red">'.$email.'</span>';
  7. echo '<hr>';
  8. //print与echo区别
  9. //1.echo可以打印多个变量,且没有返回值
  10. //2.print 仅能打印单个变量,返回1
  11. print $email;
  12. echo '<hr>';
  13. echo gettype($email);
  14. echo '<hr>';
  15. //想要获得变量的完整的信息
  16. var_dump($email);
  17. echo '<hr>';
  18. //var_export();返回原代码
  19. var_export($email);

2. html代码中嵌套php代码

  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. <p>123</p>
  10. <?php echo '嵌套php'; ?>
  11. <p>456</p>
  12. </body>
  13. </html>

注意: 后缀要把html改成php,因为html不能解析php的内容,除非使用模板引擎,比如:TP(ThinkPHP)

3.指令分隔符“ ; ”

  • PHP 需要在每个语句后用分号结束指令,一段 PHP 代码中的结束标记隐含表示了一个分号;在一个 PHP 代码段中的最后一行可以不用分号结束。如果后面还有新行,则代码段的结束标记包含了行结束。
  1. <?php
  2. header("content-type:text/html;charset=utf-8");
  3. echo "第一行<br>";
  4. ?>
  5. <?php echo "第二行<br>" ?>
  6. <?php echo '最后一行';

4.注释

  • 单行注释: // ,# ;多行注释: /**/;
  1. <?php
  2. header("content-type:text/html;charset=utf-8");//设置utf-8,解决乱码问题
  3. //echo "注释<br>";
  4. #echo "注释<br>";
  5. /*echo "注释<br>";
  6. echo "注释<br>";
  7. echo "注释<br>";
  8. echo "注释<br>";*/

五、php类型

1.四种标量类型:boolean,integer,float,string

  • Boolean 布尔类型,boolean 表达了真值,可以为 TRUE 或 FALSE,两个都不区分大小写。

  • 当转换为 boolean 时,以下值被认为是 FALSE:

    布尔值 FALSE 本身
    整型值 0(零)
    浮点型值 0.0(零)
    空字符串,以及字符串 “0”
    不包括任何元素的数组
    特殊类型 NULL(包括尚未赋值的变量)
    从空标记生成的 SimpleXML 对象

    所有其它值都被认为是 TRUE(包括任何资源 和 NAN)

  • 整型值可以使用十进制,十六进制,八进制或二进制表示,前面可以加上可选的符号(- 或者 +)。

  • Float 浮点型 :小数

  • String 字符串 ,一个字符串 string 就是由一系列的字符组成,其中每个字符等同于一个字节。这意味着 PHP 只能支持 256 的字符集,因此不支持 Unicode .

  • 一个字符串可以有四种表达方式

    单引号,要表达一个单引号自身,需在它的前面加个反斜线(\)来转义。

    双引号,如果字符串是包围在双引号(”)中, PHP 将对一些特殊的字符进行解析。

    Heredoc 结构,Heredoc 结构就象是没有使用双引号的双引号字符串,这就是说在 heredoc 结构中单引号不用被转义,但是上文中列出的转义序列还可以使用。变量将被替换。

    Nowdoc 结构,Nowdoc 结构是类似于单引号字符串的。Nowdoc 结构很象 heredoc 结构,但是 nowdoc 中不进行解析操作。这种结构很适合用于嵌入 PHP 代码或其它大段文本而无需对其中的特殊字符进行转义。

2.两种复合类型,数组、对象

  • 可以用 array() 语言结构来新建一个数组,它接受任意数量用逗号分隔的 键(key) => 值(value)对。

  • key 可以是 integer 或者 string。value 可以是任意类型

  • 此外 key 会有如下的强制转换:

    包含有合法整型值的字符串会被转换为整型。例如键名 “8” 实际会被储存为 8。但是 “08” 则不会强制转换。

    浮点数也会被转换为整型,意味着其小数部分会被舍去。例如键名 8.7 实际会被储存为 8。

    布尔值也会被转换成整型。即键名 true 实际会被储存为 1 而键名 false 会被储存为 0。

    Null 会被转换为空字符串,即键名 null 实际会被储存为 “”。

    数组和对象不能被用为键名。

  • 要创建一个新的对象 object,使用 new 语句实例化一个类。

3.两种特殊类型,Resource 资源类型 、NULL

  • 资源 resource 是一种特殊变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的。

  • 特殊的 NULL 值表示一个变量没有值。NULL 类型唯一可能的值就是 NULL。

  1. <?php
  2. //1.基本类型
  3. //字符串
  4. $name = '手机';
  5. //数值
  6. $price = 2980;
  7. //布尔
  8. $is5G = false;
  9. //2.复合类型,对象,数组
  10. $obj = new stdClass;
  11. //对象是属性和方法的无序集合
  12. $obj->name='peter zhu';
  13. echo $obj->name,'<hr>';
  14. //数组
  15. $arr = ['电脑',5000,'华为'];
  16. //ptint_r()以人性化的方式打印变量
  17. //true不直接打印,而返回
  18. //返回就是一定要有一个接收者
  19. $str = print_r($arr,true);
  20. echo '<pre>'.$str.'</pre>';
  21. //基本类型:标量,单值
  22. //复合类型:多值
  23. //3.特殊类型
  24. //null
  25. $name = null;
  26. var_dump($name);
  27. //$f就是文件资源类型
  28. $f = fopen('demo2.php','r');
  29. var_dump($f);

六、变量

1.基础

  • 变量是临时存储数据的容器

  • 变量是实现数据复用的手段

  • PHP 中的变量用一个美元符号后面跟变量名来表示。变量名是区分大小写的。

  • 变量名与 PHP 中其它的标签一样遵循相同的规则。一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。

  1. <?php
  2. $username = 'admin';
  3. $userName = 'peter';
  4. //变量区分大小写
  5. echo $username,'<br>',$userName,'<hr>';
  6. //函数是不区分大小写
  7. echo strtoupper($userName).'<hr>';
  8. echo STRTOUPPER($userName).'<hr>';
  9. //变量必须以"$"开始
  10. //变量标识符不允许用数字开始
  11. //变量允许使用下划线开始
  12. $_email = 'abc@qq.com';
  13. //变量名不允许使用特殊字符串,@
  14. //$user@id = 'abc';
  15. //变量标识符:$开始,仅允许字母,下划线和数字,且不允许使用数字开始
  16. $我的邮箱 = 'peter@php.cn';
  17. //中文可以用作变量名,但不推荐
  18. echo $我的邮箱;
  19. //无意义,不要用,变量名要望文生义
  20. $aaa = 'php.cn';
  21. $_ = 123;

  1. <?php
  2. //变量的动态:是指变量的类型随值而变化
  3. $var = 100;
  4. var_dump($var);
  5. echo '<hr>';
  6. $var = 'php';
  7. var_dump($var);

  • $this 是一个特殊的变量,它不能被赋值。

  • 变量默认总是传值赋值。那也就是说,当将一个表达式的值赋予一个变量时,整个原始表达式的值被赋值到目标变量。这意味着,例如,当一个变量的值赋予另外一个变量时,改变其中一个变量的值,将不会影响到另外一个变量。

  • PHP 也提供了另外一种方式给变量赋值:引用赋值。这意味着新的变量简单的引用(换言之,”成为其别名” 或者 “指向”)了原始变量。改动新的变量将影响到原始变量,反之亦然。
  1. <?php
  2. //变量的值传递和引用传递两种方式赋值
  3. //1.值传递,也是默认的方式
  4. $price1 = 99;
  5. $price2 = $price1;
  6. //更新price2
  7. $price2 = 199;
  8. //查看price1
  9. echo 'price1 = ' . $price1 . '<hr>';
  10. //2.引用传递
  11. $price1 = 99;
  12. /* 在等号的右边/右值前面加上&(取地址符)
  13. 当前$price2中保存的并不是99,而是$price1变量在内存中的地址,[0xabcd1234] = 99*/
  14. $price2 = &$price1;
  15. //更新price2
  16. $price2 = 199;
  17. echo 'price1 = ' . $price1 . '<hr>';

2.可变变量

  • 有时候使用可变变量名是很方便的。就是说,一个变量的变量名可以动态的设置和使用。一个普通的变量通过声明来设置,例如:
  1. <?php
  2. $a = 'hello';
  3. ?>
  • 一个可变变量获取了一个普通变量的值作为这个可变变量的变量名。在上面的例子中 hello 使用了两个美元符号($)以后,就可以作为一个可变变量的变量了。例如:
  1. <?php
  2. $$a = 'world';
  3. ?>
  • 这时,两个变量都被定义了:$a 的内容是”hello”并且 $hello 的内容是”world”。因此,以下语句:
  1. <?php
  2. $$a = 'world';
  3. ?>
  • 与以下语句输出完全相同的结果:
  1. <?php
  2. echo "$a $hello";
  3. ?>
  • 它们都会输出:hello world

3.检测变量

  1. <?php
  2. //变量的检测与删除
  3. //打开所有的报错
  4. error_reporting(E_ALL);
  5. echo $username;
  6. //变量检测
  7. $username = '朱老师';
  8. //isset();如果该变量存在且值不为null才是true
  9. if (isset($username)) echo $username. '<br>';
  10. else echo '没有定义该变量';
  11. //unset();删除变量,没有返回值
  12. /* unset($unsername);
  13. echo $username; */
  14. /* $var = '213';
  15. if (isset($var)) echo $var . '<br>';
  16. else echo '没有定义该变量'; */
  17. $var = '';
  18. if (empty($var)) var_dump($var);

4. 变量类型转换

  1. <?php
  2. //变量的类型转换
  3. //自动转换:是由php系统偷偷进行的,不需要用户主动参与
  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
  13. echo $b + 10,'<br>';
  14. echo $d + 10,'<br>';
  15. echo $e + 10,'<br>';
  16. //.字符串连接
  17. echo $d.$f,'<br>';
  18. echo '<hr>';
  19. //强制转换
  20. //如果不想看到警告,通过强制转换解决
  21. //echo (int)$e + 10, '<br>';
  22. //临时转换
  23. echo intval($e) + 20,'<br>';
  24. echo strval($f) . 'hello';
  25. //永久转换
  26. settype ($f,'string');
  27. echo '<br>';
  28. echo gettype($f);

学习总结

  • windows和Linux下php环境的配置

  • PHP是主要是用于服务端的脚本程序

  • PHP的基本语法,以<?php开头,?>结束

  • PHP用//和#单行注释,/**/多行注释

  • PHP的类型分为4种标量类型,整型、布尔型、浮点型、字符串,标量可以理解为标准变量,一个变量只能存在一个值;两种复合类型,数组和对象,还有两种特殊类型,资源类型和NULL

  • 打印变量,echo:没有返回值,print,返回值为1,var_dump():完整的打印数据类型,print_r():以人性化的方式打印

  • 变量的类型转换,自动转换;临时强制转换:intval()强制转换成整型,strval()强制转换成字符串;永久转换:settype();gettype()查看变量类型

  • 可变变量:以变量的值为变量名,使用两个$符号

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