php基础

这篇博客介绍了PHP的基础知识,包括PHP是什么、LAMP环境、PHP运行原理、开发环境安装步骤以及PHP的基本语法,如变量、运算符、循环、数组、字符串操作和时间处理。还涉及到HTTP全局数组、JSON方法、Session和Cookie的使用。
摘要由CSDN通过智能技术生成

  • 概述
  • 安装环境
  • php基础语法
  • 变量
  • 运算符
  • 条件与分支
  • 循环
  • 数组

概述

php是什么?

PHP是超文本预处理器(Hypertext Preprocessor)的简称,是一种用于创建动态性交互网站的强有力的语言。

其语法利用借鉴了 C,Java 和 Perl,非常容易学习。该语言的主要目标是让 Web 开发人员可以很快写出动态生成的网页,如用于开发留言板、购物网站、论坛等,但 PHP 的功能远不止如此。PHP是如此的易用且功能强大,因此深受广大 Web 开发人员的喜爱。对比其他 Web 开发语言,PHP 的市场份额也越来越大。据统计,世界上有超过 60% 的网站后台语言采用 PHP。

PHP官方网站: www.php.net 复制后新建标签页打开

LAMP

LAMP是 Linux+Apache+Mysql+Perl/PHP/Python 的简称。

在过去的几年里,Linux,Apache,MySQL 和 Perl/PHP/Python 这些组件的兼容性不断完善,在一起的应用情形变得普遍。目前,几乎在所有的 Linux 发布版中都默认包含了这些产品。LAMP 平台常用来作为一种标准开发环境,也是目前最强大的网站解决方案。

LAMP无论是性能、质量还是价格都将成为企业、政府信息化所必须考虑的平台。

PHP运行原理

在 Web 服务器上,安装上 PHP 软件之后,由Web服务软件(如Apache、IIS等)提供对 PHP 的解析支持。

PHP 程序通常以 php 为后缀名。我们可以在 php 文件里面写上一些必要的逻辑过程,如 数据读取 、 用户登录检测 等。当用户通过浏览器访问这些 php 文件的时候如http://www.abc.com/login.php这个 URL 地址,PHP 软件在 Web 服务软件的支持下,会对 php 文件中的逻辑进行解析运行。最后将执行的结果返回给浏览器即用户查看到的界面,返回的结果为 HTML 格式。

PHP 开发环境安装

PHP 学习环境

  • 学习PHP,我们需要准备一个可以支持PHP运行的环境:
    • PHP编译器:支持 PHP 运行的核心
    • Apache Web 服务器:提供 Web 服务,并支持 PHP 解析
    • MySQL数据库:用于学习 PHP 操作 MySQL 数据库
    • 操作系统:默认为个人PC,安装 Windows 2000 以上系统
    • 编辑工具:EditPlus 或IDE工具如 Zend Studio 或 sublime3 HbuilderX 、 vscode等
    • 浏览器:IE6 或以上版本、Firefox 、chrome谷歌浏览器版
    • 文件存储位置:E:html

注意:文件存储位置不是特定的,只要您的 Apache Web 服务器能解析到就行,在此设置是为了跟XHTML+CSS教程保持一致。

phpStudy集成环境

phpStudy 2018版本(php一键安装包),集成PHP7,16种组合,超全大合集

2018是一款非常强大的php环境调试工具,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。对学习PHP的新手来说,WINDOWS下环境配置是一件很困难的事;对老手来说也是一件烦琐的事。因此无论你是新手还是老手,该程序包都是一个不错的选择。 下载地址
在这里插入图片描述

phpstudy 安装教程

phpstudy2018的安装步骤

1、phpstudy2018软件的下载:

下载地址:http://www.phpstudy.net/download.html

下载后打开存放软件的文件夹,对软件进行解压。

在这里插入图片描述

2、phpstudy2018软件的安装:

左键双击软件启动程序,选择要安装软件的文件夹,软件尽量不要安装在c盘。
在这里插入图片描述
选择好安装目录后,点击是,进行安装。等待一小段时间软件就会安装完成啦!
在这里插入图片描述

3、启动服务器

在这里插入图片描述

PHP 基本语法

PHP 书写格式

从一个例子开始。

启动编辑器,创建一个php文件并键入如下代码:

<?php
  echo "你好!";
?>

将该文件命名为 test.php 并存储于 D:\phpStudy\PHPTutorial\WWW 目录下。 前提是phpstudy默认安装在d盘
在浏览器地址栏里访问该 php 文件:http://127.0.0.1/test.php,输出结果如下:

你好!

我们通过浏览器查看网页的源代码,也只是:

你好!

在该例子中,我们以 echo 指令输出一个字符串“你好!”。
从这个例子可以看出:

  1. PHP 文件或 PHP 代码段以“<?php”开头,以“?>”结束,中间为php代码
  2. 每一个指令集以 ; 符号结束
  3. 浏览器得到的为 PHP 解析器执行完 php 代码后的结果,网站浏览者不能查看到 php 文件的原始代码

当然,要输出标准的html代码,可以把上例完善为:

 `<html>
<head>
 <title>PHP 测试</title>
</head>
 <body>
  <p>
   <?php
    echo "你好!";
   ?>
  </p>
 </body>
</html>`  

可见,PHP 代码可以和 HTML 代码混写。
echo 是 PHP 内置的一个指令,用于输出1个或多个字符串,和 echo 类似的还有 print。

对比学习

  • js与php语法基本一致
jsphp
js代码用 < script> < /script> 包括php 用户 echo输出
js用document.write输出js用document.write输出
js用;结束一行代码php必须用;结束一行代码

创建一个表格

一个简单的表格是这么创建的:

项目Value
电脑$1600
手机$12
导管$1

PHP 字符串输出

  • 用于字符串输出的函数主要有:
    • echo():输出一个或多个字符串
    • print():输出一个字符串
    • printf():输出格式化字符串

echo()

echo()是指令而不是函数,它没有返回值,可以输出一个或多个字符串。

语法:

 void echo ( string arg1 [, string ...] )

例子:

<?php
   $foo = "foobar";
   
   $bar = "barbaz";
   echo $foo,$bar;		// 输出"foobarbarbaz"
   echo "<br />";
   echo $foo[3];		// 输出第4个字符"b"
   echo "<br />";
   echo "foo is $foo";	// 输出"foo is foobar"
  echo "<br />";
  echo 'foo is $foo';	// 输出"foo is $foo"
?> 

说明

  • 双引号内的变量会被解释,而单引号内的变量则原样输出
  • 字符串计算是从 0 开始计数

print()

print() 用于输出一个字符串。print() 是函数,返回一个整型,但只能有一个参数,其用法同 echo ,但不能输出数组和对象。

语法:

int print( string arg )
printf()

printf() 用于格式化输出字符串,返回一个整型。

语法:

int printf(string format, arg1, arg2,  ...)

format 为字符串以及变量的格式化方式,arg1 为插入第一个%符号处的参数,agr2等以此类推。

格式化方式说明: 格式化方式说明
%d十进制有符号整数
%u十进制无符号整数
%f浮点数
%s字符串
%c单个字符
%p指针的值
%e指数形式的浮点数
%x/%X无符号以小/大写十六进制表示的整数
%o无符号以八进制表示的整数
%g自动选择合适的表示法

例子:

<?php
$str = "This";
$number = 31;
printf("%s month has %u days",$str,$number);    //输出 This month has 31 days
?>

PHP 变量

PHP变量用于存储字符、数字、数组甚至对象资源等,以便在我们需要的地方使用。

定义一个变量的语法:

$变量名 = 值;
使用变量的例子:

<?php
$var_char = "你好!";
echo $var_char;
?>

执行这段代码输出的结果是:

你好!

常见的php数据类型 字符串、整型、浮点型、布尔型

<?php
// 存储一个人的名字用字符串类型
$name = "mumu";

// 存储一个人的年龄用 整型
$age = 18;

// 存储价格用浮点型,浮点几乎可以表达任何类型数字
$price = 3.5;

/* 
布尔类型分为两类:
TRUE:表示事实成立,为真,也可写作true
FALSE:表示事实不成立,为假,也可写作false
*/
// 存储一个开关状态用 布尔类型
$flag = TRUE;
?>

变量的命名

从这个例子可以看出,变量名以 $ 开始,标明这是一个变量。变量名以字母(a-z、A-Z)或者下划线 _ 开始,后面可以跟任意字母或数字以及下划线,但不能是空格。

如下这些变量名是有效的:

$var_char
$varChar
$_varChar
$var_char5
提示

关于变量命名,我们建议变量名以标明其实际语意的组合为佳,如 $my_name 或 $myName 格式。

延伸阅读

与 C 语言等强类型的编程语言不同,PHP 是一门松散类型的语言,即不需要在设置变量之前声明该变量。根据变量被设置的方式,PHP 会自动地把变量转换为正确的数据类型,且变量会在使用时被自动声明,这一属性给 Web 编程带来了极大的灵活性。

案例
本次班级的最高分98.5分,有曾木木获得。用合适的变量存储并输出如下

本次考试成绩最高分:98.5
最高分得主:曾木木

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>最高得分</title>
</head>
<body>
 <?php
     $score = 98.5;
     $name = "曾木木";
     echo "本次考试成绩最高分",$score,"<br>";
     echo "最高分得主:$name";
 ?>
</body>
</html>

PHP 运算符

PHP 运算符主要包括:

  1. 算术运算符
  2. 赋值运算符
  3. 比较运算符
  4. 三元运算符
  5. 逻辑运算符
  6. 字符串运算符
  7. 错误控制运算符
算术运算符
运算符例子例子运算结果
+ x = 2 ; x = 2; x=2;y = $x+1;$y = 3
- x = 2 ; x = 2; x=2;y = $x-1;$y = 1
* x = 2 ; x = 2; x=2;y = $x*3;$y = 6
/除,返回结果为浮点类型 x = 6 ; x = 6; x=6;y = $x/3;$y = 2
%求余,返回结果为浮点类型 x = 6 ; x = 6; x=6;y = $x%4;$y=2
++递加,分为前加和后加对布尔值和 NULL 无效 x = 2 ; + ( 前 加 ) x = 2;+(前加) x=2;+x++;(后加)$x = 3
- -递减,分为前递减和后递减对布尔值和 NULL 无效 x = 2 ; − − x = 2;-- x=2;x;(前减)$x–;(后减)$x = 1

对于前加和后加,执行后的结果都是变量加1,其区别在于执行时返回结果不一样,参考下面两个例子:

<?php
$x = 2;
echo $x++;	//输出2
echo $x;	//输出3

$x = 2;
echo ++$x;	//输出3
echo $x;	//输出3
?>

递减同理。

赋值运算符

赋值运算符“=”用于赋值运算,赋值运算符的作用在于把右边的值赋值给左边变量:

$x = 2;

该例子将整型值 2 赋值给变量 $x。

赋值运算符其他用法

赋值运算符可以嵌套使用:

<?php
$y = ($x = 2) + 5;    //结果为 $x=2,$y=7
?>

赋值运算符的一些变形使用方法:

$y += $x;
实际上它等同于:

$y = $y + $x;
同理有:

$y -= $x;
$y *= $x;
$y /= $x;
$y %= $x;
$y .= $x; 	// . 为连接运算符,见字符串运算符

比较运算符
运算符 说明 例子 运算结果
== 等于 2 == 3 FALSE
!= 不等于,也可写作<> 2 == 3 TRUE

大于 2 > 3 FALSE
< 小于 2 < 3 TRUE
= 大于等于 2 >= 3 FALSE
<= 小于等于 2 <= 3 TRUE
比较运算符也可用于字符串比较。

三元运算符
三元可以视作是特殊的比较运算符:

(expr1) ? (expr2) : (expr3)
语法解释:在 expr1 求值为 TRUE 时整个表达式的值为 expr2,否则为 expr3。

例子:

y = ( y = ( y=(x == 2) ? x : 1 ; 该 例 子 判 断 变 量 x : 1; 该例子判断变量 x:1;x的值是否等于2,如果 x 等 于 2 , 那 么 x等于2,那么 x2y的值就等于 x ( 也 就 是 等 于 2 ) , 反 之 x(也就是等于2),反之 x2y就等于1。

提示
为了避免错误,将三元运算符各表达式用括号括起来是个不错的主意。

逻辑运算符
运算符 说明 例子 运算结果
&& 逻辑与,也可写作 and $x = 2;
$y = 6;
$x && $y > 5 FALSE
|| 逻辑或,也可写作 or $x = 2;
$y = 6;
$x && $y > 5 TRUE
! 逻辑非,取逻辑的反面 $x = 2;
y = 6 ; ! ( y = 6; !( y=6;!(x > $y) TRUE
连接运算符
字符串运算符主要指连接运算符“.”,它将连接其左右参数字符串。

var_dumo() 查看变量的类型
使用变量的时候也要带$符号
类型强制转换

(int)(变量)
(string)(变量)
(float)(变量)
(bool)(变量)

循环

while(表达式){
语句:
}
for(初始条;判断;更改条件){
语句;
}

数组

创建

	$a1=[...]
	$a2=array(...)
	$a3=array(key=>value,k2=>v2)

删除

	unset($a1)
    unset($a1[2])

添加

	$al[]=88;
	$a2["leg"=2];

遍历

	foreach($arr as $value){}

foreach($arr as k e y = > key=> key=>value){}

常用方法

	array_push()添加
	array_pop()删除
	sort()正序
	reort()倒序
	array_search() 查询
	array_reverse()翻转
	implode() 连接为字符串
	explode()字符串翻个为数组
	shuffle()乱序
	natsort()自然排序

字符串常用

获取

	substr(string,strart,len)
从strart截取len位字符
	strrt(string,str)
截取str后面的字符
	strrchr(string,str)
从后面查找str,并截取后面的字符

替换

	str_replace(search,replace,string)

用replace替换search字符

计算

	strlen()

获取字符串长度

	strpos(string,str,start)

查找字符串str出现的位置

	strrpos(string,str)

从后查找str出现的位置

时间

date.timezone=PRC

配置时间php.ini

	time()
获取1970-1-1到现在的秒数
	date("Y-m-d H:i",time());
显示时间格式如 2008-12-01 12:01格式化事件戳
	strtotime("2021-10-20")
通过字符串转换为事件戳

http全局数组

$_GET[]

获取所有的post请求参数

$_POST[]

获取所有的post请求参数

$_REQUEST

获取所有的请求

josnp方法

json_encode()

数组转jsonp

json_decode()

字符串转数组

header方法

header("Content-type: application/json");

返回json格式

header("Content-type:text/html; charset=utf-8");

返回html格式编码

session

1.session是用来保持客户端与服务器端绘画的

2.session的值存储在服务器

3.session是通过cookie来传递给客户端

cookie

存储在客户端的数据,可以设置过期时间

服务器或者客户端都可以修改设置cookie

每次http请求都会携带cookie http响应也会携带cookie

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值