一、入门
1.输出语句
echo echo(); // 常用输出语句
print_r(); // 同上
var_dump(); // 输出时变量类型和值,用于代码调试
注意:php的语法十分严格,每一条语句都必须以分号结束。
2.变量
$str = "hello,world."; //声明变量无需关键字
变量以$符号开头(引用变量时也要带上$)
变量名必须以字母或下划线开头
变量名只能由[0-9a-zA-Z\_]组成
变量名区分大小写
3. 数据类型
String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)
4. 字符串拼接
//JavaScript
str = "0" + "1"; //字符串拼接
str = `Hello, ${name}.`; //模板字符串
//PHP
$str = "0"."1"; //字符串拼接
$str = "Hello, {$name}!"; //占位符
5. 分支语句
if,switch,for语句以及函数定义皆同js
二、数组
1.分类
- 索引数组(下标为数字)
声明
$cars = array("大众", "宝马", "现代");
遍历
for($i = 0; $i < count($cars); $i++){
echo "下标:{$i},数据:{$cars[$i]}<br />";
}
- 关联数组(又名键值数组,下标为字符串,类似ES6的map数据类型)
声明
$arr = array("id" => 1, "name" => "晓明", "age" => "30");
遍历
foreach($arr as $key => $value){
echo "下标:{$key},数据:{$value}<br />";
}
- 全局数组
$_GET:通过get方法提交过来的所有数据
$_POST:通过get方法提交过来的所有数据
2.方法
count(array); //返回数组长度
array_pop(array); //从数组末尾取下一个元素
array_push(array, elements); //向数组末尾添加元素
array_shift(array); //从数组头部取下一个元素
array_unshift(array, elements); //向数组头部添加元素
array_rand(array, n); //从数组中随机选出n个元素,默认为1
三、前后端交互
- jQuery发起get/post请求
function loginSend() {
$("#login-button").click(function () {
$.ajax({
type: "post",
url: "./php/login.php",
data: {
username: $("#username").val(),
password: $("#password").val()
},
success: function (result) {
console.log(result);
},
error: function (msg) {
console.log(msg);
}
})
})
}
- PHP处理请求,并返回结果
<?php
header('content:text/html;charset="utf-8"');
// 统一返回数据格式
$responseData = array('code'=>0,'message'=>'');
//接收前端数据
$username = $_POST['username'];
$passward = $_POST['password'];
//验证表单
if(!$username){
$responseData['code'] = 1;
$responseData['message'] = "用户名不能为空";
echo json_encode($responseData);
exit;
}
if(!$passward){
$responseData['code'] = 2;
$responseData['message'] = "密码不能为空";
echo json_encode($responseData);
exit;
}
//连接数据库
$link = mysql_connect('localhost','root','123456');
//判断是否连接成功
if(!$link){
$responseData['code'] = 3;
$responseData['message'] = "数据库连接失败";
echo json_encode($responseData);
exit;
}
//设置字符集
mysql_set_charset('utf8');
//选择数据库
mysql_select_db('yyy');
//MD5加密
$str = md5(md5(md5($passward)."zhongguo")."guangzhou");
//准备SQL语句
$sql = "SELECT * FROM users WHERE username = '{$username}' AND password = '{$str}'";
//发送SQL语句
$res = mysql_query($sql);
//处理结果
$row = mysql_fetch_assoc($res);
if(!$row){
$responseData['code'] = 4;
$responseData['message'] = "用户名或密码错误";
echo json_encode($responseData);
exit;
}else{
$responseData['message'] = "登陆成功";
echo json_encode($responseData);
}
//关闭数据库
mysql_close($link);
?>