前言
web前端学习到了一个阶段,目前正在学习前端的异步请求框架Ajax,学习这个框架需要了解php的基本语法和使用。
下面这篇博客就是W3cSchool Php学习的知识点总结,希望可以能快速了解这门脚本语言。
PHP("PHP Hypertext Preprocessor" 的首字母缩略词) 是一种创建动态交互性站点的强有力的服务器端脚本语言。
PHP 脚本在服务器上执行,然后向浏览器发送回纯 HTML 结果。
PHP 是免费的,并且使用广泛。对于像微软 ASP 这样的竞争者来说,PHP 无疑是另一种高效率的选项。
PHP 能够做什么?
PHP 能够生成动态页面内容
PHP 能够创建、打开、读取、写入、删除以及关闭服务器上的文件
PHP 能够接收表单数据
PHP 能够发送并取回 cookies
PHP 能够添加、删除、修改数据库中的数据
PHP 能够限制用户访问网站中的某些页面
PHP 能够对数据进行加密
PHP 脚本可放置于文档中的任何位置。
PHP 脚本以 <?php 开头,以 ?> 结尾:
<?php
// 此处是 PHP 代码
?>
PHP 文件的默认文件扩展名是 “.php”。
PHP 文件通常包含 HTML 标签以及一些 PHP 脚本代码。
1)在 PHP 中,所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感。不过在 PHP 中,所有变量都对大小写敏感。
2)PHP 根据它的值,自动把变量转换为正确的数据类型(类型推断)。
3)global 关键词用于在函数内访问全局变量。
4)PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。
5)通常,当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要在声明局部变量是使用static关键字。
6)在 PHP 中,有两种基本的输出方法:echo 和 print。
PHP echo 和 print 语句
echo 和 print 之间的差异:
echo - 能够输出一个以上的字符串
print - 只能输出一个字符串,并始终返回 1
提示:echo 比 print 稍快,因为它不返回任何值。
PHP echo 语句
echo 是一个语言结构,有无括号均可使用:echo 或 echo()。
Php的基本数据类型
字符串、整数、浮点数、逻辑、数组、对象、NULL。
Php通过class关键字来定义对象:
<?php
class Car
{
var $color;
function Car($color="green") {
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
?>
Php字符串操作(函数)Api:
1)strlen() 函数返回字符串的长度,以字符计。
2)str_word_count() 函数对字符串中的单词进行计数。
3)strrev() 函数反转字符串。
4)strpos() 函数用于检索字符串内指定的字符或文本。
5)str_replace() 函数用一些字符串替换字符串中的另一些字符。
PHP 常量:全局不可改变的值,类似于static
常量是单个值的标识符(名称)。在脚本中无法改变该值。
有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。
注释:与变量不同,常量贯穿整个脚本是自动全局的。
设置 PHP 常量
如需设置常量,请使用 define() 函数 - 它使用三个参数:
首个参数定义常量的名称
第二个参数定义常量的值
可选的第三个参数规定常量名是否对大小写不敏感。默认是 false。
下例创建了一个对大小写敏感的常量,值为 "Welcome to W3School.com.cn!":
实例:
<?php
define("GREETING", "Welcome to W3School.com.cn!");
echo GREETING;
?>
Php运算符
<?php
$x=17;
$y=8;
echo ($x + $y); // 输出 25
echo ($x - $y); // 输出 9
echo ($x * $y); // 输出 136
echo ($x / $y); // 输出 2.125
echo ($x % $y); // 输出 1
?>
PHP 字符串运算符
<?php
$a = "Hello";
$b = $a . " world!";
echo $b; // 输出 Hello world!
$x="Hello";
$x .= " world!";
echo $x; // 输出 Hello world!
?>
PHP 逻辑运算符
运算符 名称 例子 结果 显示结果
and 与 $x and $y 如果 $x 和 $y 都为 true,则返回 true。
or 或 $x or $y 如果 $x 和 $y 至少有一个为 true,则返回 true。
xor 异或 $x xor $y 如果 $x 和 $y 有且仅有一个为 true,则返回 true。
&& 与 $x && $y 如果 $x 和 $y 都为 true,则返回 true。
|| 或 $x || $y 如果 $x 和 $y 至少有一个为 true,则返回 true。
! 非 !$x 如果 $x 不为 true,则返回 true。
PHP 的真正力量来自它的函数:它拥有超过 1000 个内建的函数。
php函数语法:
function functionName() {
被执行的代码;
}
注释:函数名能够以字母或下划线开头(而非数字)。
注释:函数名对大小写不敏感。
提示:函数名应该能够反映函数所执行的任务。
在 PHP 中,有三种数组类型:
索引数组 - 带有数字索引的数组,键是索引,默认从零开始自动分配,也可以手动指定值的索引。
关联数组 - 带有指定键的数组,是使用您分配给数组的指定键的数组。
多维数组 - 包含一个或多个数组的数组
<?php
$age=array("Bill"=>"63","Steve"=>"56","Elon"=>"47");
foreach($age as $x=>$x_value) {
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
PHP 数组排序函数:
sort() - 以升序对数组排序
rsort() - 以降序对数组排序
asort() - 根据值,以升序对关联数组进行排序
ksort() - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序
PHP 全局变量 - 超全局变量
PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。
这些超全局变量是:
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
下表列出了您能够在 $_SERVER 中访问的最重要的元素:
元素/代码 描述
$_SERVER['PHP_SELF'] 返回当前执行脚本的文件名。
$_SERVER['GATEWAY_INTERFACE'] 返回服务器使用的 CGI 规范的版本。
$_SERVER['SERVER_ADDR'] 返回当前运行脚本所在的服务器的 IP 地址。
$_SERVER['SERVER_NAME'] 返回当前运行脚本所在的服务器的主机名(比如 www.w3school.com.cn)。
$_SERVER['SERVER_SOFTWARE'] 返回服务器标识字符串(比如 Apache/2.2.24)。
$_SERVER['SERVER_PROTOCOL'] 返回请求页面时通信协议的名称和版本(例如,“HTTP/1.0”)。
$_SERVER['REQUEST_METHOD'] 返回访问页面使用的请求方法(例如 POST)。
$_SERVER['REQUEST_TIME'] 返回请求开始时的时间戳(例如 1577687494)。
$_SERVER['QUERY_STRING'] 返回查询字符串,如果是通过查询字符串访问此页面。
$_SERVER['HTTP_ACCEPT'] 返回来自当前请求的请求头。
$_SERVER['HTTP_ACCEPT_CHARSET'] 返回来自当前请求的 Accept_Charset 头( 例如 utf-8,ISO-8859-1)
$_SERVER['HTTP_HOST'] 返回来自当前请求的 Host 头。
$_SERVER['HTTP_REFERER'] 返回当前页面的完整 URL(不可靠,因为不是所有用户代理都支持)。
$_SERVER['HTTPS'] 是否通过安全 HTTP 协议查询脚本。
$_SERVER['REMOTE_ADDR'] 返回浏览当前页面的用户的 IP 地址。
$_SERVER['REMOTE_HOST'] 返回浏览当前页面的用户的主机名。
$_SERVER['REMOTE_PORT'] 返回用户机器上连接到 Web 服务器所使用的端口号。
$_SERVER['SCRIPT_FILENAME'] 返回当前执行脚本的绝对路径。
$_SERVER['SERVER_ADMIN'] 该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。
$_SERVER['SERVER_PORT'] Web 服务器使用的端口。默认值为 “80”。
$_SERVER['SERVER_SIGNATURE'] 返回服务器版本和虚拟主机名。
$_SERVER['PATH_TRANSLATED'] 当前脚本所在文件系统(非文档根目录)的基本路径。
$_SERVER['SCRIPT_NAME'] 返回当前脚本的路径。
$_SERVER['SCRIPT_URI'] 返回当前页面的 URI。
以上就是基础的Php语法知识,主要是让我们可以快速的了解Php这门语言。但是Php高级还有
表单、高级教程和数据库。但是这里就不一一学习了。因为Php作为一门后台脚本语言,主要的作用是开发后台的数据响应代码,对目前的前端学习并没有多大的帮助。
当然目前我们需要学习使用Ajax来请求网络数据,那么是不是后台代码如果使用的是Java实现的,是不是就可以不用学习Php了呢?
答案应该是肯定的,后端的影响实现可以使用php和jsp来实现,至于后期如何学习Php,未完待续…
本人是使用HbuidlerX来边学习Html和css代码的编写,现在想让HuidlerX集成Php开发环境,但是目前却因为Mac环境问题,不能成功集成。
扩展:
1)mac 环境 下的mamp破解版环境搭建。