- php(hypertext Preprocessor),超文本预处理器。(脚本语言)
- 特点:开源免费,效率高消耗资源少,可跨平台运行在Windows,Linux,Unix系统上,可以嵌入到HTML语言中,php5开始是面向对象的。
- 怎么判断一个网站网页是不是用php语言写的?可以在顶部URL后输入(加入)/index php ,如果没有报错,就说明是拿php写的。
//黄金组合lamp:Linux Apache MySQL PHP
4. php运行前提:操作系统 + web服务器环境 + php组件
web服务器环境就是指apache或者是nginx,新手推荐使用phpstudy集成环境直接去搭建环境。
- 在phpstudy下的www中创建一个用来存放php代码的文件夹(start),并在desktop创建快捷方式,在文件夹中新建一个php文件index.php,然后输入经典的php语句:
<?php
echo "hello world" ;
?>
在浏览器中输入,127.0.0.1/start/index.php,就能看到:
或者将127.0.0.1换为localhost也可以,(本机环回地址)
或者将127.0.0.1换为本机真实IP地址访问,(cmd--ipconfig--无线局域网适配器)
Tips:VSC炫酷插件,请认准power mode,帅的一批。
6.PHP基本语法
- php标签: <? php ?> 其他标签可移植执行较差
- 注释:单行多行注释://和/*……*/ (#也是注释,但是不推荐)
- echo是语言结构,并不是真正的函数,它是php的内部指令,不是函数,无返回值。
- 最好结尾有分号,更稳定。HTML里的注释能在网页源代码里看到,但是PHP不会被看到。Die; 强制结束命令。
- 自定义变量:$ + 变量名 声明变量 (变量名应该以下划线或者字母开头)
- 预定义系统变量:(9超全局变量)
- $GLOBALS $_REQUEST $_ENV $_SERVER $_COOKIE $_GET $_SESSION $_POST $_FILES
- PHP中的局部变量和全局变量
- 在PHP的函数模块定义变量时,只需要加一个global就能将局部变量弄成全局变量。
-
<?php function cs(){ global $a; $a =13210; } cs(); echo $a; ?>
或者
-
<?php function cs(){ $GLOBALS['a'] = 10234234; } cs(); echo $a; ?>
- PHP中的define定义:
-
define(“PI”,3.14);即可完成常量的定义,常量一经定义就无法改变了。
- 变量,常量,函数都有自定义和系统预定义之分。(且都大小写敏感)
-
自定义常量只能是boolean,int,float,string这四种
//变量赋值(包括传值赋值和引用赋值)
传值赋值:
-
$a = "happy"; $b = $a; print($a); echo "<br />"; print($b); $a = "happyq"; echo "<br />"; print($a); echo "<br />"; print("$b");
输出结果为:
-
但是将第二行的$b = $a; 改为 $b = &$a;之后,(引用赋值)输出结果为:
-
我的意思是:引用赋值,将两个变量紧紧联系在一起了。只要一方数值改变,另一方数值也会改变。
- 可变变量
-
也就是在一个变量内部又出现了一个新的变量,如:$$a.
系统内置函数 gettype,可以用来查看变量是什么类型。
-
$a = true; echo gettype($a);
- PHP中双引号可以识别变量,所以
$a =100;
$b ="2$a";
echo $b;
输出结果为2100
单引号无法识别变量,所以
$a =100;
$b ='2$a';
echo $b;
输出结果为2$a
//要学会使用花括号 {}
- PHP八大数据类型
- //四种标量类型:布尔型,整型,浮点型,字符串
- //两种符合类型:数组,对象
- //两种特殊类型:资源,NULL
布尔:true,false(大小写不敏感)
整型:四种整形数据,二,八,十,十六进制(注意是0而不是o)
二进制前缀:0b
八进制前缀:0
十六进制前缀:0x
//在PHP中也用<br>当作字符来表示换行。
字符型:有很多函数,比如全部大写/小写,首字母转换为大小写……,接下来介绍几个简单的:
in_array函数:验证某一个数是否在某一个数组中,
$arr = array(1,2,3,4);
echo in_array(2 ,$arr);
输出结果为 1(true)
strrev函数(反转):
$str = "Hello World";
echo strrev($str);
输出结果为:
dlroW olleH
addslashes函数(在插入数据库前把一些特殊字符转义):
例如单引号双引号等特殊字符。(通过加反斜杠的方式)
与之对立:stripslashes函数:去除反斜杠
htmlspecialchars函数:把特殊字符转化为HTML实体
$str = "<script>alert('123');</script>";
echo $str;
本来应该在网页上弹出123的提示框
但是这样
$str = "<script>alert('123');</script>";
echo htmlspecialchars ($str);
就可以原样输出
<script>alert('123');</script>
其余的字符串函数补充:
具体用法可以参考:
https://blog.csdn.net/weixin_30414155/article/details/99779424?ops_request_misc=&request_id=&biz_id=102&utm_term=php%E4%B8%AD%E7%9A%84string%E5%87%BD%E6%95%B0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-4-99779424.nonecase&spm=1018.2226.3001.4187
php中查看变量类型的两个函数:
var_dump( )和gettype( )
<?php
$a = "I am a good boy";
echo var_dump ($a);
echo "<br>";
echo gettype($a);
?>
输出结果为:
//isset( )函数可以用来检查变量是否被初始化
望读者批评指正蟹蟹!