[TOC]
>[success] # PHP
<br/>
~~~
这里讲到的'PHP'都是为了学习'ajax'做迎合。
~~~
<br/>
>[success] ## 创建php页面
<br/>
~~~
只需要创建一个xxx(必须是英文)'.php'的文件即可,页面内容需要写一个'PHP标签'
~~~
~~~
<?php
// 单行注释
/**
* 多行注释
*/
?>
~~~
<br/>
>[success] ## 输出语句echo
<br/>
~~~
<?php
// echo是输出语句类似js里的innerText
echo 'hello word'; // 英文
echo '你好 世界'; // 中文
?>
~~~
<br/>
>[success] ## 设置页面编码格式
<br/>
~~~
英文是可以输出,如果输出的是'中文',显示到页面上就是'乱码'的,需要加如下内容:
~~~
~~~
<?php
// 设置页面编码格式,使用PHP函数,php内置函数4000多个,基本上想到的都会有,这里需要设置成utf-8,不然中文乱码
header('content-type:text/html;charset=utf-8');
// echo是输出语句类似js里的innerText
echo 'hello word'; // 英文
echo '你好 世界'; // 中文
?>
~~~
<br/>
>[success] ## 定义变量
<br/>
~~~
在'PHP'中'定义变'量只需要在前面加个'$'变量名,即可
~~~
~~~
<?php
// 设置页面编码格式
header('content-type:text/html;charset=utf-8');
// 定义变量
$heheda = '你好 世界'; // 字符串类型
$num = 123; // number类型
$pi = 3.141592653; // 小数
$arr = array('榴莲','西蓝花','鸡蛋'); // 定义数组
$male = false; // 布尔值
// 输出变量
echo $heheda;
echo '<br/>';
echo $num;
echo '<br/>';
echo $pi;
echo '<br/>';
echo $arr[0]
echo '<br/>';
if($male == false){
echo '奥利给';
} else {
echo '一给喔里giaogiao';
}
?>
~~~
<br/>
>[success] ## 条件语句
<br/>
~~~
<?php
// 设置页面编码格式
header('content-type:text/html;charset=utf-8');
// 声明变量
$day = '礼拜一';
// 条件语句
switch($day){
case '礼拜一':
case '礼拜二':
case '礼拜三':
case '礼拜四':
case '礼拜五':
case '礼拜六':
echo '上班班';
break;
default:
echo '上班班';
break;
}
// 或者这样写:
if($day == '礼拜一' || $day == '礼拜二'){
echo '上班班1';
}else {
echo '下班了奥利给';
}
?>
~~~
<br/>
>[success] ## 循环语句
<br/>
~~~
<?php
// 设置页面编码格式
header('content-type:text/html;charset=utf-8');
// 1. for循环
for($i=0;$i<10;$i++){
echo '奥利给'.$i; // 字符串拼接用.$变量名
echo '<br/>';
}
// 2. while
$num = 0;
while($num < 10){
echo '哈哈'.$num;
echo '<br/>';
$num++;
}
// 3. do while 最起码执行一次
do {
echo('进来了吗');
} while(false)
?>
~~~
<br/>
>[success] ### 循环数组
<br/>
~~~
<?php
// 设置页面编码格式
header('content-type:text/html;charset=utf-8');
// 定义数组
$foodArr = array('榴莲','西蓝花','鸡蛋');
// 获取数组的元素,下标从0开始
echo $foodArr[1];
echo '<br>';
// 打印数组所有内容
// echo $foodArr; // 这种方式打印不出来数组内容,返回字符串‘Array’
// 直接输出复杂类型
print_r($foodArr); // Array ( [0] => 榴莲 [1] => 西蓝花 [2] => 鸡蛋 )
echo '<br>';
// 遍历 PHP中数组没有.length的写法
// 获取数组长度用count('数组名称')
for($i=0;$i<count($foodArr);$i++){
echo '<br>';
echo $foodArr[$i];
}
?>
~~~
<br/>
>[success] ### 循环数组(js对象)
<br/>
~~~
这里为什么还是循环数组呢,因为'PHP'中分好几种数组:
1. 正常有'index索引'的数组
2. js中的'对象键值对'方式,在PHP中也被称之为数组
~~~
~~~
<?php
// 设置页面编码格式
header('content-type:text/html;charset=utf-8');
// 定义数组
$foodArr = array('name'=>'吴京', 'film'=>'战狼', 'wife'=>'谢楠');
// 获取内容
echo $foodArr['wife']; // 谢楠
// 输出完整数组
echo print_r($foodArr);
// 遍历数组
// $key 键
// $value 值
foreach ($foodArr as $key => $value) {
echo '<br/>'.$key.'------'.$value;
}
?>
~~~
<br/>
>[success] ## PHP输出HTML页面
<br/>
~~~
PHP可以用'字符串拼接'来实现拼接好'html结构'返回给浏览器。
下面有两种方式,'第一种'(不推荐),的样式是直接在标签上拼接'style',可读性差,看着也不方便,
'第二种','PHP'可以和'HTML'混合在一起使用
~~~
<br/>
>[success] ### 方式1
<br/>
~~~
<?php
// 设置页面编码格式
header('content-type:text/html;charset=utf-8');
// 二维数组
$starArr = array(
array('name'=>'刘德华', 'film'=>'无间道', 'friend'=>'曾志伟'),
array('name'=>'吴京', 'film'=>'战狼2', 'friend'=>'张翰'),
array('name'=>'黄渤', 'film'=>'疯狂的石头', 'friend'=>'林志玲'),
array('name'=>'汪峰', 'film'=>'春天里', 'friend'=>'那英')
);
// 循环
for($i=0;$i<count($starArr);$i++){
echo '<h2>明星:<span style="color:red;font-size:14px;">'.$starArr[$i]['name'].'</span>'.'出演了:'.$starArr[$i]['film'] .'好朋友是:'.$starArr[$i]['friend'].'<br/></h2>';
}
?>
~~~
<br/>
>[success] ### 方式2
<br/>
~~~
<?php
// 声明对象数组
$arr = array(
array('name'=>'刘德华'),
array('name'=>'吴京'),
array('name'=>'黄渤'),
array('name'=>'汪峰')
);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
p{
font-size: 16px;
color: red;
}
</style>
</head>
<body>
<?php
foreach ($arr as $key => $val) {
echo '<p>' . $arr[$key]['name'] . '</p>';
}
?>
</body>
</html>
~~~
- 基本概念
- 服务器
- PHP学习
- PHP根据数据生成页面
- form表单提交数据到服务器
- form表单查询信息详情页
- 列表渲染展示以及跳转详情
- PHP拆分写法
- form表单提交
- get方式提交数据补充
- post方式提交数据
- post上传文件
- 请求报文和响应报文基本概念
- XMLHTTPRequest对象的基本使用
- 回调函数&获取返回的数据
- ajax发送get请求
- ajax验证用户是否存在逻辑
- ajax发送post请求
- 新浪云使用方法
- onload 和 onreadystatechange
- XML格式
- 服务器返回XML格式数据
- JSON格式
- 服务器返回JSON格式数据
- ajax工具函数封装
- js模板引擎
- 跨域解决方案
- JSONP
- CORS解决跨域
- 下载文件功能