从零开始学 Web 之 Ajax(二)PHP基础语法
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新......
- github:https://github.com/Daotin/Web
- 微信公众号:Web前端之巅
- 博客园:http://www.cnblogs.com/lvonve/
- CSDN:https://blog.csdn.net/lvonve/
在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目。现在就让我们一起进入 Web 前端学习的冒险之旅吧!

一、PHP 基础语法
1、基本结构
- 所有PHP代码都要写到
<?php ... ?>里面。 - PHP文件可以和 HTML 文件结合进行使用。
- PHP文件的默认扩展名是 ".php"。
- PHP代码必须在服务器上执行。
2、打印语句
echo: 的作用在页面中输入字符串(只能打印字符串,数字等简单类型)
print_r :输出复杂类型
var_dump :输出复杂类型
<?php
echo "hello Daotin.";
echo "<br>";
echo 123;
echo "<br>";
print_r([1,2,3,4,5]);
echo "<br>";
var_dump([1,2,3,4,5]);
?>
打印结果:
hello Daotin.
123
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
array (size=5)
0 => int 1
1 => int 2
2 => int 3
3 => int 4
4 => int 5
3、变量的声明和使用
变量的声明和使用都需要加 "$" 符号。
$str = "Hello";
echo $str;
4、字符串的拼接
字符串的拼接不是使用 "+",而是使用 "."
$str1 = "Hello";
$str2 = "World";
echo $str1 . " " . $str2;
5、PHP的执行原理
浏览器是不识别 PHP 文件的,用浏览器发开 PHP 文件,只会显示 PHP 的源代码,所以 PHP 文件必须在服务器中执行。其实 apache 服务器也识别不了 PHP 文件,是 apache 将 PHP 文件再交给 PHP 模块处理的,最后 apache 将处理之后的网页内容返回。
6、数组
一维数组的定义:
$arr = array();
$arr[0] = "10";
$arr[1] = "20";
$arr[2] = "30";
或者
$arr = array("10", "20", "30");
注意:数组是复杂类型,不能使用 echo 直接打印,只能打印其中的某个元素,复杂类型使用 print_r 或者 var_dump。
示例:
$arr1 = array();
$arr1[0] = "10";
$arr1[1] = "20";
$arr1[2] = "30";
$arr2 = array("40", "50", "60");
// echo $arr1; // 不能直接打印数组
print_r($arr1);
var_dump($arr2);
echo json_encode($arr1); // 将数组转化成 json 格式打印,转化后是 字符串格式,可以使用echo。
打印结果:
Array ( [0] => 10 [1] => 20 [2] => 30 )
array (size=3)
0 => string '40' (length=2)
1 => string '50' (length=2)
2 => string '60' (length=2)
["10","20","30"]
数组的下标索引自定义
$arr = array("index1"=>"40", "index2"=>"50", "index3"=>"60");
print_r($arr);
或者只自定义其中几个:
$arr = array("40", "index"=>"50", "60");
print_r($arr);
此时 "40" 的下标为 0, "60" 的下标为1。
自定义所以的方式不可以使用 for 循环遍历数组,因为其下标已经不是 0,1,2 了。
要使用 foreach 的方式。(key 为索引,value 为索引对应的值)
foreach($arr as $key => $value) {
echo $key . "---" . $value . "<br>";
}
二维数组的定义:
$arr = array();
$arr[0] = array("1", "2", "3");
$arr[1] = array("4", "5", "6");
var_dump($arr);
echo json_encode($arr);
打印结果:
array (size=2)
0 =>
array (size=3)
0 => string '1' (length=1)
1 => string '2' (length=1)
2 => string '3' (length=1)
1 =>
array (size=3)
0 => string '4' (length=1)
1 => string '5' (length=1)
2 => string '6' (length=1)
[["1","2","3"],["4","5","6"]]
7、函数
系统函数:比如:
json_encode:PHP中将数组转化为 json 格式的字符串。
var_dump:输出复杂的数据类型
print_r:输出复杂的数据类型
count:得到数组的长度
自定义函数:
和 js 类似,以 function 进行声明。
function add($num1, $num2) {
return $num1 + $num2;
}
8、预定义变量
我们知道,动态网页会根据不同的需求展示不同的界面,那么是怎么做到的呢?
请求类型
请求的时候是需要携带参数的,用来表示不同的要求,根据参数的不同,而展示不同的界面。
根据参数携带的位置不同,可以简单把请求分为 Get 请求 和 Post 请求。
get 请求:跟在 URL 后面,用问号 "?" 连接,多个参数之间用 & 连接。
post 请求:参数在请求体中。
获取请求参数的值
$_GET["属性名字"] :获取 get 请求的属性的值。
$_POST["属性名字"] :获取 post 请求的属性的值。
8.1、get请求
示例:php 获取用户登录名和密码进行校验
<!--html代码-->
<!--省略代码-->
<body>
<h1>登录界面</h1>
<form action="check.php" method="GET">
用户名:<input type="text" name="username"> <br>
密 码:<input type="password" name="passwd"> <br>
<input type="submit" value="提交">
</form>
</body>
// php代码
<?php
$username = $_GET["username"];
$password = $_GET["passwd"];
if(($username == "Daotin") && ($password == "123")) {
echo "Login Success!";
} else {
echo "Login Failed!";
}
?>
0、在 form 表单中可以进行 get请求和 post 请求。
1、我们在输入账号密码,点击提交后,在地址栏卡可以看到:http://localhost/Login/check.php?username=Daotin&passwd=123,参数确实跟在地址之后,用? 连接,参数之间用 & 连接。
2、通过 $_GET[ ] 可以获得请求参数的值。
8.2、post 请求
<!--HTML主要代码-->
<h1>登录界面</h1>
<form action="check.php" method="POST">
用户名:<input type="text" name="username"> <br>
密 码:<input type="password" name="passwd"> <br>
<input type="submit" value="提交">
</form>
<?php
$username = $_POST["username"];
$password = $_POST["passwd"];
if(($username == "Daotin") && ($password == "123")) {
echo "Login Success!";
} else {
echo "Login Failed!";
}
?>
我们在输入账号密码,点击提交后,在地址栏卡可以看到:http://localhost/Login/check.php ,不再显示请求参数。
get 请求和 post 请求的区别:
1、get 请求会把请求参数放在 URL 中,而 post 请求则放在请求体中,post 请求更安全。
2、所以,一般get请求是获取服务器的数据,post 请求是向服务器提交一些数据。
二、结语
大家可以发现,我们之前做的 get 和 post 请求,在提交之后,是会进行页面跳转的,从当前的html界面跳转到php界面了,那么有没有办法可以不进行跳转,就在当前界面得到服务器返回的数据呢?敬请关注下期 Ajax 的内容,它可以做到。

从零开始学 Web 之 Ajax(二)PHP基础语法的更多相关文章
- 从零开始学 Web 之 Ajax(三)Ajax 概述,快速上手
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 Ajax(五)同步异步请求,数据格式
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 Ajax(一)服务器相关概念
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 Ajax(四)接口文档,验证用户名唯一性案例
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 Ajax(六)jQuery中的Ajax
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 Ajax(七)跨域
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 系列教程
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新…… github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http:/ ...
- 从零开始学 Web 之 ES6(四)ES6基础语法二
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 Vue.js(四)Vue的Ajax请求和跨域
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
随机推荐
- 一个域名下多个Vue项目
公司写的网站要英文和中文的,所以就写了两个项目,都是用vue写的单页面项目,但是域名只有一个,所以就想把两个vue项目合并到一个域名下面.思考:vue的页面都是单页面应用,说白了就是一个index.h ...
- 关于requests库中文编码问题
转自:代码分析Python requests库中文编码问题 Python reqeusts在作为代理爬虫节点抓取不同字符集网站时遇到的一些问题总结. 简单说就是中文乱码的问题. 如果单纯的抓取微博 ...
- Python:每日一题001
题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? **程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 个人解 ...
- boost asio 学习(六) 定时器
http://www.gamedev.net/blog/950/entry-2249317-a-guide-to-getting- started-with-boostasio?pg=7 6 定时器 ...
- boost学习 内嵌类型检测 与 any 的代码练习
本文是学习 boost源码的一些练习 参考文章来自 刘未鹏 C++的罗浮宫(http://blog.csdn.net/pongba) 目录 http://blog.csdn.net/pongba/ar ...
- Catalan数与出栈顺序个数,Java编程模拟
问题描述: 队列中有从1到7(由小到大排列)的7个整数,问经过一个整数栈后,出栈的所有排列数有多少?如果整数栈的容量是4(栈最多能容纳4个整数),那么出栈的排列数又是多少? 分析:对于每一个数字i, ...
- javascript(作业九)
1.javascript简介: JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端 ...
- Alpha阶段项目复审(冲鸭队)
Alpha阶段项目复审(冲鸭队) 组名 优点 缺点 排名 天冷记得穿秋裤队 支持文件离线开源下载,没有限速 部分功能未实现 1 中午吃啥队 点餐系统用户需求较高,系统功能完善 界面可以再完善一下些 2 ...
- 在jenkins中调用maven的变量
Maven内置变量说明: ${basedir} 项目根目录(即pom.xml文件所在目录) ${project.build.directory} 构建目录,缺省为target目录 ${project. ...
- 背水一战 Windows 10 (74) - 控件(控件基类): UIElement - 与 CanDrag 相关的事件, 与 AllowDrop 相关的事件
[源码下载] 背水一战 Windows 10 (74) - 控件(控件基类): UIElement - 与 CanDrag 相关的事件, 与 AllowDrop 相关的事件 作者:webabcd 介绍 ...