PHP基础
介绍:PHP是安全中需要掌握的一门语言,需要和HTML结合,现在开启PHP零基础到实战 。
文章目录
PHP基础一、 PHP基本概念1、PHP2、PHP是什么?3、PHP 能做什么?4、为什么使用PHP?
二、PHP环境安装1、代码编写环境2、网站运行环境3、实验一 我的第一个页面
三、 PHP语法基本的 PHP 语法
四、PHP常见函数1、 php变量2、PHP 变量作用域3、PHP global 关键字
五、 PHP输出1、echo/print 语句2、PHP EOF3.print_r4.var_dump5.var_dump 和 print_r 的区别6、实验二:我的第一个网站交互版PRO
六、PHP数据类型比较1、 PHP 字符串2、 PHP 整型3、 PHP 浮点型4、 PHP 布尔型5、 PHP 数组6、 PHP 对象7、 PHP NULL值8、 PHP 资源类型9、PHP 类型比较10、PHP常量11、PHP字符串12、PHP 并置运算符13、PHP strlen() 函数14、PHP strpos() 函数15、运算符16、括号的使用17、实验三:简单版计算器
一、 PHP基本概念
语言:PHP、HTML、JSP、js/asp;C C# 、Java 、Python等
1、PHP
PHP(全称:PHP :Hypertext Preprocessor ,超文本预处理器)是一种通用的开源脚本语言。PHP脚本在服务器上执行,更好的跟用户进行灵活交互。服务器(代码执行)+客户端(浏览,交互)(js / html)PHP可免费下载使用。(www.php.net)PHP对初学者而言简单易学。PHP也为专业的程序员提供了许多先进的功能
2、PHP是什么?
PHP文件可包含文本、HTML、JavaScript代码和PHP代码PHP代码在服务器上执行,结果以纯HTML形式返回给浏览器PHP文件的默认文件扩展名是.php(安全视角:txt文件php打开 .htaccess加一条申明是PHP文件)
3、PHP 能做什么?
PHP可以生成动态页面内容PHP可以创建、打开、读取、写入、关闭服务器上的文件PHP可以收集表单数据PHP可以发送和接收 cookiesPHP可以添加、删除、修改数据库中的数据PHP可以限制用户访问网站的一些页面PHP可以加密数据
通过PHP,不在仅限于输出HTML,可以输出图像、PDF文件、输出任意的文本
4、为什么使用PHP?
PHP可在不同的平台上运行(Windows、Linux、Unix、Mac OS X等)PHP与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS)PHP提供了广泛的数据库支持(mysql、mssql、甲骨文、mariaadb)免费,易于学习,并可高效地运行在服务器端哪些网站使用了PHP:Facebook、维基百科、雅虎、Flickr、Tumblr等等。
二、PHP环境安装
1、代码编写环境
建议直接使用vscode环境即可,安装插件《PHP Intelephense》 直接将文件保存成.PHP,右小角即可弹出安装插件,点击安装即可
2、网站运行环境
使用PhpStudy(小皮)联动的方式,phpstudy下载 客户端+服务器
浏览器(360、edge、谷歌、IE)---请求(要访问某某页面)网站服务器(接受请求、收到请求(处理,同意还是不同意执行)发送(HTML+jss+css源代码)给客户端(接受代码,解析)
客户端+服务器(小皮 apache)(一体)
网站、页面的本质:文件 .php结尾 文本文件(apache解析)动态计算
文件夹放文件
端口80 www1服务
端口80 www2服务
21端口 FTP
22端口 SSH
一个ip 地址 UDP 65535 TCP
有65535*2个端口
网站根目录:D:/phpstudy_pro/WWW/BBCC
3、实验一 我的第一个页面
echo "Hello,World";
?>
实验步骤如下:
安装后开始phpstudy的站点,直接点击启动即可 部署网站,在网站栏目下选择新建,如果有默认的可以删除 将代码写入到网站根目录,我的就叫做no1.php 访问人生中的第一个网站 本地环回地址访问http://127.0.0.1/no1.php 或者http://localhost/no1.php
本地IP地址访问,先查看自己电脑的IP地址,调出CMD窗口,输入ipconfig查看IP
然后输入有线/无线IP地址去访问,比如我的是192.168.110.93,于是浏览器上输入http://192.168.110.93/no1.php访问网站
三、 PHP语法
PHP 脚本在服务器上执行,然后将纯 HTML 结果发送回浏览器。
基本的 PHP 语法
// PHP 代码
?>
PHP 文件的默认文件扩展名是 “.php”(如果有.htaccess文件,也可以用其他的后缀识别成 php)。 PHP 文件通常包含 HTML 标签和一些 PHP 脚本代码。 下面,我们提供了一个简单的 PHP 文件实例,它可以向浏览器输出文本 “Hello World!”
My first PHP page
//HTMl标签echo "Hello World!"; //echo = 输出
?>
PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。 通过 PHP,有两种在浏览器输出文本的基础指令:echo 和 print。 PHP 中的注释
// 这是 PHP 单行注释
/*
这是
PHP 多行
注释
*/
?>
四、PHP常见函数
1、 php变量
变量是用于存储信息的"容器":
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>
解释案例: x=5 y=6 z=x+y 我们使用字母(如 x),并给它赋值(如 5)。 从上面的表达式 z=x+y ,我们可以计算出 z 的值为 11。 在 PHP 中,这些$字母被称为变量。 PHP 变量 变量可以是很短的名称(如 x 和 y)或者更具描述性的名称(如 age、carname、 totalvolume)。
PHP 变量规则:
变量以 $ 符号开始,后面跟着变量的名称 变量名必须以字母或者下划线字符开始变量名只能包含字母、数字以及下划线(A-z、 0-9 和 _ )变量名不能包含空格变量名是区分大小写的(y 和 Y 是两个不同的变量)
PHP 语句和 PHP 变量都是区分大小写的。 创建(声明)PHP 变量 PHP 没有声明变量的命令。 变量在您第一次赋值给它的时候被创建
$txt="Hello world!";
$x=5;
$y=10.5;
?>
2、PHP 变量作用域
变量的作用域是脚本中变量可被引用/使用的部分。 PHP 有四种不同的变量作用域: local global static parameter 局部和全局作用域
$x=5; // 全局变量
function myTest()
{
$y=10; // 局部变量
echo "
测试函数内变量:
";
echo "变量 x 为: $x";
echo "
";
echo "变量 y 为: $y";
}
myTest();
echo "
测试函数外变量:
";
echo "变量 x 为: $x";
echo "
";
echo "变量 y 为: $y";
?>
3、PHP global 关键字
$x=5;
$y=10;
function myTest()
{
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // 输出 15
?>
Static 作用域
function myTest()
{
static $x=0;
echo $x;
$x++;
echo PHP_EOL; // 换行符
}
myTest();
myTest();
myTest();
?>
参数作用域
function myTest($x)
{
echo $x;
}
myTest(5);
?>
五、 PHP输出
1、echo/print 语句
1.echo 输出一个或者多个字符串。 2.print 和 echo 最主要的区别: print 仅支持一个参数,并总是返回 1 echo
echo "
PHP 很有趣!
";echo "Hello world!
";
echo "我要学 PHP!
";
echo "这是一个"."字符串,"."使用了", "多个", "参数。";
?>
下面的实例演示了如何使用 echo 命令输出变量和字符串:
$txt1="学习 PHP";
$txt2="BAIDU.COM";
$cars=array("Volvo","BMW","Toyota");
echo $txt1;
echo "
";
echo "在 $txt2 学习 PHP ";
echo "
";
echo "我车的品牌是 {$cars[0]}";
?>
print 语句 下面的实例演示了如何使用 print 命令输出字符串(字符串可以包含 HTML 标签):
print "
PHP 很有趣!
";print "Hello world!
";
print "我要学习 PHP!";
//或者
print("PHP是全世界最好的语言");
?>?>
显示变量
$txt1="HUANYINGNI";
$txt2="baidu.com";
$cars=array("xiaoyun","xiaoli","xiaozhang");
print $txt1;
print "
";
print "在 $txt2 学习 PHP ";
print "
";
print "haoxuesheng {$cars[0]}";
?>
2、PHP EOF
PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言 (像Perl、PHP、Python和Ruby)里定义一个字符串的方法。
echo <<我的第一个标题
我的第一个段落。
EOF;
// 结束需要独立一行且前后不能空格
?>
注意: 1.以 << $name="baidu"; $a= << "abc"$name "123" EOF; // 结束需要独立一行且前后不能空格 echo $a; ?> 3.print_r 打印关于变量的易于理解的信息,如果给出的是 string、integer 或 float,将打印变量值本身。如 果给出的是 array,将会按照一定格式显示键和元素。 4.var_dump 此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通 过缩进显示其结构。 5.var_dump 和 print_r 的区别 var_dump 返回表达式的类型与值而 print_r 仅返回结果,相比调试代码使用 var_dump 更便于阅 读。 打印比较: $name="mashibing"; $a=array("Volvo","BMW","Toyota"); // 结束需要独立一行且前后不能空格 echo $a; echo ""; print($a); echo ""; print_r($a); echo ""; var_dump($a); ?> 6、实验二:我的第一个网站交互版PRO function no1(){ echo "这是我的第一个网站交互版本PRO"; echo PHP_EOL; } function no2(){ print("mashibing 网站是最好的网站"); echo PHP_EOL; } function no3(){ echo << php是最好用的语言 phpstudy框架也挺好用 EOF; } no1(); //使用no1函数的方式echo输出“这是我的第一个网站交互版本PRO” no2(); //使用no2函数的方式print输出“mashibing 网站是最好的网站” no3(); //使用no3函数的方式EOF输出:“php是最好用的语言 phpstudy框架也挺好用” ?> 六、PHP数据类型比较 PHP 变量存储不同的类型的数据,不同的数据类型可以做不一样的事情。 PHP 支持以下几种数据类型: String(字符串)Integer(整型)Float(浮点型)Boolean(布尔型)Array(数组)Object(对象)NULL(空值)Resource(资源类型) 1、 PHP 字符串 PHP var_dump();函数返回变量的数据类型和值: $x = "Hello world!"; var_dump($x); echo " $x = 'Hello world!'; var_dump($x); ?> 2、 PHP 整型 整数是一个没有小数的数字。 整数规则: 整数必须至少有一个数字 (0-9)整数不能包含逗号或空格整数是没有小数点的整数可以是正数或负数整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。 $x = 5985; var_dump($x); echo " $x = -345; // 负数 var_dump($x); echo " $x = 0x8C; // 十六进制数 var_dump($x); echo " $x = 047; // 八进制数 var_dump($x); ?> 3、 PHP 浮点型 浮点数是带小数部分的数字,或是指数形式。 $x = 10.365; var_dump($x); echo " $x = 2.4e3; var_dump($x); echo " $x = 8E-5; var_dump($x); ?> 4、 PHP 布尔型 布尔型可以是 TRUE 或 FALSE。 布尔型通常用于条件判断。 $x=true; $y=false; var_dump($x,$y); 5、 PHP 数组 数组可以在一个变量中存储多个值。 在以下实例中创建了一个数组, 然后使用 PHP var_dump() 函数返回数组的数据类型和值: $cars=array("Volvo","BMW","Toyota"); var_dump($cars); ?> 6、 PHP 对象 对象数据类型也可以用于存储数据。 在 PHP 中,对象必须声明。 首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构。 class Car { function what_color($color) { return $color; } } $color = new Car(); echo $color->what_color("red"); ?> 7、 PHP NULL值 NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。 NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。 可以通过设置变量值为 NULL 来清空变量数据: $x="Hello world!"; $x=null; var_dump($x); ?> 8、 PHP 资源类型 PHP 资源 resource 是一种特殊变量,保存了到外部资源的一个引用。 常见资源数据类型有打开文件、数据库连接、图形画布区域等。 由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此将其它类 型的值转换为资源没有意义。 使用 get_resource_type() 函数可以返回资源(resource)类型: get_resource_type(resource $handle): string 此函数返回一个字符串,用于表示传递给它的 resource 的类型。如果参数不是合法的 resource, 将产生错误。 $c = mysql_connect(); echo get_resource_type($c)."\n"; // 打印:mysql link $fp = fopen("foo","w"); echo get_resource_type($fp)."\n"; // 打印:file $doc = new_xmldoc("1.0"); echo get_resource_type($doc->doc)."\n"; // 打印:doent ?> 9、PHP 类型比较 虽然 PHP 是弱类型语言,但也需要明白变量类型及它们的意义,因为我们经常需要对 PHP 变量 进行比较,包含松散和严格比较。 松散比较:使用两个等号 == 比较,只比较值,不比较类型。严格比较:用三个等号 === 比较,除了比较值,也比较类型。 例如,“42” 是一个字符串而 42 是一个整数。FALSE 是一个布尔值而 “FALSE” 是一个字符串。 header("content-type:text/html;charset=utf-8"); //保持中文不乱码 if(42 == "42") { echo '1、值相等'; } echo PHP_EOL; // 换行符 if(42 === "42") { echo '2、类型相等'; } else { echo '3、类型不相等'; } ?> 以上实例输出结果为: 1、值相等 3、类型不相等 PHP中 比较 0、false、null echo '0 == false: '; var_dump(0 == false); echo '0 === false: '; var_dump(0 === false); echo ""; echo '0 == null: '; var_dump(0 == null); echo '0 === null: '; var_dump(0 === null); echo ""; echo 'false == null: '; var_dump(false == null); echo 'false === null: '; var_dump(false === null); echo ""; echo '"0" == false: '; var_dump("0" == false); echo '"0" === false: '; var_dump("0" === false); echo ""; echo '"0" == null: '; var_dump("0" == null); echo '"0" === null: '; var_dump("0" === null); echo ""; echo '"" == false: '; var_dump("" == false); echo '"" === false: '; var_dump("" === false); echo ""; echo '"" == null: '; var_dump("" == null); echo '"" === null: '; var_dump("" === null); ?> 以上实例输出结果为: 0 == false: bool(true) 0 === false: bool(false) 0 == null: bool(true) 0 === null: bool(false) false == null: bool(true) false === null: bool(false) "0" == false: bool(true) "0" === false: bool(false) "0" == null: bool(false) "0" === null: bool(false) "" == false: bool(true) "" === false: bool(false) "" == null: bool(true) "" === null: bool(false) 10、PHP常量 常量值被定义后,在脚本的其他任何地方都不能被改变。 一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修 饰符)。 注意: 常量在整个脚本中都可以使用。 设置 PHP 常量 设置常量,使用 define() 函数 bool define ( string $name , mixed $value [, bool $case_insensitive = false ] ) 该函数有三个参数: **name:**必选参数,常量名称,即标志符。**value:**必选参数,常量的值。case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。 创建一个 区分大小写的常量 header("content-type:text/html;charset=utf-8"); //保持中文不乱码 // 区分大小写的常量名 define("GREETING", "欢迎访问 baidu.com"); echo GREETING; // 输出 "欢迎访问 Runoob.com" echo ' echo greeting; // 输出 "greeting",但是有警告信息,表示该常量未定义 ?> 11、PHP字符串 字符串变量用于存储并处理文本。 在创建字符串之后,我们就可以对它进行操作了。您可以直接在函数中使用字符串,或者把它存 储在变量中 12、PHP 并置运算符 在 PHP 中,只有一个字符串运算符。 并置运算符 (.) 用于把两个字符串值连接起来。 下面的实例演示了如何将两个字符串变量连接在一起: $txt1="Hello world!"; $txt2="What a nice day!"; echo $txt1." ".$txt2; ?> 13、PHP strlen() 函数 有时知道字符串值的长度是很有用的。 strlen() 函数返回字符串的长度(字节数)。 下面的实例返回字符串 “Hello world!” 的长度: echo strlen("Hello world!"); ?> 上面的代码将输出:12 **提示:**strlen() 常常用在循环和其他函数中,因为那时确定字符串何时结束是很重要的。(例 如,在循环中,我们需要在字符串中的最后一个字符之后结束循环。) 14、PHP strpos() 函数 strpos() 函数用于在字符串内查找一个字符或一段指定的文本。 如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。 15、运算符 在 PHP 中,赋值运算符 = 用于给变量赋值。 在 PHP 中,算术运算符 + 用于把值加在一起。 $x=10; $y=6; echo ($x + $y); // 输出16 echo ' echo ($x - $y); // 输出4 echo ' echo ($x * $y); // 输出60 echo ' echo ($x / $y); // 输出1.6666666666667 echo ' echo ($x % $y); // 输出4 echo ' echo -$x; ?> PHP 赋值运算符 $x=10; echo $x.""; // 输出10 $y=20; $y += 100; echo $y.""; // 输出120 $z=50; $z -= 25; echo $z.""; // 输出25 $i=5; $i *= 6; echo $i.""; // 输出30 $j=10; $j /= 5; echo $j.""; // 输出2 $k=15; $k %= 4; echo $k.""; // 输出3 ?> PHP 递增/递减运算符 $x=10; echo ++$x; // 输出11 $y=10; echo $y++; // 输出10 $z=5; echo --$z; // 输出4 $i=5; echo $i--; // 输出5 ?> PHP 比较运算符 $x=100; $y="100"; var_dump($x == $y); echo " var_dump($x === $y); echo " var_dump($x != $y); echo " var_dump($x !== $y); echo " $a=50; $b=90; var_dump($a > $b); echo " var_dump($a < $b); ?> PHP 数组运算符 $x = array("a" => "red", "b" => "green"); $y = array("c" => "blue", "d" => "yellow"); $d = array("b" => "green","a" => "red" ); $z = $x + $y; // $x 和 $y 数组合并 var_dump($z); echo ""; var_dump($x == $y); echo ""; var_dump($x === $y); echo ""; var_dump($x != $y); echo ""; var_dump($x <> $y); echo ""; var_dump($x !== $y); echo ""; var_dump($x == $d); echo ""; var_dump($x === $d); echo ""; ?> 16、括号的使用 我们通过括号的配对来明确标明运算顺序,而非靠运算符优先级和结合性来决定,通常能够增加 代码的可读性。 代码的可读性。 // 括号优先运算 $a = 1; $b = 2; $c = 3; $d = $a + $b * $c; echo $d; echo "\n"; $e = ($a + $b) * $c; // 使用括号 echo $e; echo "\n"; ?> 以上实例输出结果为: 7 9 17、实验三:简单版计算器 需求:能够自定义输入两个值进行±*/的计算 $num1 = $_GET['num1']; $num2 = $_GET['num2']; $opt = $_GET['opt']; $yunsuan = $num1.$opt.$num2; $jieguo = eval("return $yunsuan;"); ?>
";
";
";
";
";
";
';
'; // 换行
'; // 换行
'; // 换行
'; // 换行
'; // 换行
";
";
";
";
";
好文链接
发表评论