前端:和JavaScript一样的后端脚本语言Php学习总结

前言
web前端学习到了一个阶段,目前正在学习前端的异步请求框架Ajax,学习这个框架需要了解php的基本语法和使用。
下面这篇博客就是W3cSchool Php学习的知识点总结,希望可以能快速了解这门脚本语言。

PHP("PHP Hypertext Preprocessor" 的首字母缩略词) 是一种创建动态交互性站点的强有力的服务器端脚本语言。
PHP 脚本在服务器上执行,然后向浏览器发送回纯 HTML 结果。
PHP 是免费的,并且使用广泛。对于像微软 ASP 这样的竞争者来说,PHP 无疑是另一种高效率的选项。
1
2
3
PHP 能够做什么?

PHP 能够生成动态页面内容
PHP 能够创建、打开、读取、写入、删除以及关闭服务器上的文件
PHP 能够接收表单数据
PHP 能够发送并取回 cookies
PHP 能够添加、删除、修改数据库中的数据
PHP 能够限制用户访问网站中的某些页面
PHP 能够对数据进行加密
1
2
3
4
5
6
7
PHP 脚本可放置于文档中的任何位置。
PHP 脚本以 <?php 开头,以 ?> 结尾:

<?php
// 此处是 PHP 代码
?>
1
2
3
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。
1
2
3
4
5
6
PHP echo 和 print 语句
echo 和 print 之间的差异:

echo - 能够输出一个以上的字符串
print - 只能输出一个字符串,并始终返回 1
提示:echo 比 print 稍快,因为它不返回任何值。
1
2
3
PHP echo 语句
echo 是一个语言结构,有无括号均可使用:echo 或 echo()。
Php的基本数据类型

字符串、整数、浮点数、逻辑、数组、对象、NULL。
1
Php通过class关键字来定义对象:

<?php
class Car
{
  var $color;
  function Car($color="green") {
    $this->color = $color;
  }
  function what_color() {
    return $this->color;
  }
}
?>
1
2
3
4
5
6
7
8
9
10
11
12
Php字符串操作(函数)Api:

1)strlen() 函数返回字符串的长度,以字符计。
2)str_word_count() 函数对字符串中的单词进行计数。
3)strrev() 函数反转字符串。
4)strpos() 函数用于检索字符串内指定的字符或文本。
5)str_replace() 函数用一些字符串替换字符串中的另一些字符。
1
2
3
4
5
PHP 常量:全局不可改变的值,类似于static

常量是单个值的标识符(名称)。在脚本中无法改变该值。
有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。
注释:与变量不同,常量贯穿整个脚本是自动全局的。
1
2
3
设置 PHP 常量
如需设置常量,请使用 define() 函数 - 它使用三个参数:

首个参数定义常量的名称
第二个参数定义常量的值
可选的第三个参数规定常量名是否对大小写不敏感。默认是 false。
下例创建了一个对大小写敏感的常量,值为 "Welcome to W3School.com.cn!":
1
2
3
4
实例:

<?php
define("GREETING", "Welcome to W3School.com.cn!");
echo GREETING;
?>
1
2
3
4
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
?>
1
2
3
4
5
6
7
8
9
PHP 字符串运算符

<?php
$a = "Hello";
$b = $a . " world!";
echo $b; // 输出 Hello world!

$x="Hello";
$x .= " world!";
echo $x; // 输出 Hello world!
?>
1
2
3
4
5
6
7
8
9
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。
1
2
3
4
5
6
PHP 的真正力量来自它的函数:它拥有超过 1000 个内建的函数。
php函数语法:

function functionName() {
  被执行的代码;
}
1
2
3
注释:函数名能够以字母或下划线开头(而非数字)。
注释:函数名对大小写不敏感。
提示:函数名应该能够反映函数所执行的任务。

在 PHP 中,有三种数组类型:

索引数组 - 带有数字索引的数组,键是索引,默认从零开始自动分配,也可以手动指定值的索引。
关联数组 - 带有指定键的数组,是使用您分配给数组的指定键的数组。
多维数组 - 包含一个或多个数组的数组
1
2
3
<?php
$age=array("Bill"=>"63","Steve"=>"56","Elon"=>"47");
foreach($age as $x=>$x_value) {
  echo "Key=" . $x . ", Value=" . $x_value;
  echo "<br>";
}
?>
1
2
3
4
5
6
7
PHP 数组排序函数:

sort() - 以升序对数组排序
rsort() - 以降序对数组排序
asort() - 根据值,以升序对关联数组进行排序
ksort() - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序
1
2
3
4
5
6
PHP 全局变量 - 超全局变量
PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。

这些超全局变量是:

$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
1
2
3
4
5
6
7
8
9
下表列出了您能够在 $_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。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
以上就是基础的Php语法知识,主要是让我们可以快速的了解Php这门语言。但是Php高级还有
表单、高级教程和数据库。但是这里就不一一学习了。因为Php作为一门后台脚本语言,主要的作用是开发后台的数据响应代码,对目前的前端学习并没有多大的帮助。
当然目前我们需要学习使用Ajax来请求网络数据,那么是不是后台代码如果使用的是Java实现的,是不是就可以不用学习Php了呢?
答案应该是肯定的,后端的影响实现可以使用php和jsp来实现,至于后期如何学习Php,未完待续…
本人是使用HbuidlerX来边学习Html和css代码的编写,现在想让HuidlerX集成Php开发环境,但是目前却因为Mac环境问题,不能成功集成。
扩展:
1)mac 环境 下的mamp破解版环境搭建。
————————————————
版权声明:本文为CSDN博主「技术承载梦想」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013823101/java/article/details/100980630

转载声明:本文为星影阑珊的原创文章,转载请注明原文地址,谢谢合作
随机云标签