[TOC]
>[success] # PHP
~~~
这里讲到的'PHP'都是为了学习'ajax'做迎合。
~~~
>[success] ## 创建php页面
~~~
只需要创建一个xxx(必须是英文)'.php'的文件即可,页面内容需要些一个'PHP标签'
~~~
~~~
// 单行注释
/**
* 多行注释
*/
?>
~~~
>[success] ## 输出语句echo
~~~
// echo是输出语句类似js里的innerText
echo 'hello word'; // 英文
echo '你好 世界'; // 中文
?>
~~~
>[success] ## 设置页面编码格式
~~~
英文是可以输出,如果输出的是'中文',显示到页面上就是'乱码'的,需要加如下内容:
~~~
~~~
// 设置页面编码格式,使用PHP函数,php内置函数4000多个,基本上想到的都会有,这里需要设置成utf-8,不然中文乱码
header('content-type:text/html;charset=utf-8');
// echo是输出语句类似js里的innerText
echo 'hello word'; // 英文
echo '你好 世界'; // 中文
?>
~~~
>[success] ## 定义变量
~~~
在'PHP'中'定义变'量只需要在前面加个'$'变量名,即可
~~~
~~~
// 设置页面编码格式
header('content-type:text/html;charset=utf-8');
// 定义变量
$heheda = '你好 世界'; // 字符串类型
$num = 123; // number类型
$pi = 3.141592653; // 小数
$arr = array('榴莲','西蓝花','鸡蛋'); // 定义数组
$male = false; // 布尔值
// 输出变量
echo $heheda;
echo '
';
echo $num;
echo '
';
echo $pi;
echo '
';
echo $arr[0]
echo '
';
if($male == false){
echo '奥利给';
} else {
echo '一给喔里giaogiao';
}
?>
~~~
>[success] ## 条件语句
~~~
// 设置页面编码格式
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 '下班了奥利给';
}
?>
~~~
>[success] ## 循环语句
~~~
// 设置页面编码格式
header('content-type:text/html;charset=utf-8');
// 1. for循环
for($i=0;$i<10;$i++){
echo '奥利给'.$i; // 字符串拼接用.$变量名
echo '
';
}
// 2. while
$num = 0;
while($num < 10){
echo '哈哈'.$num;
echo '
';
$num++;
}
// 3. do while 最起码执行一次
do {
echo('进来了吗');
} while(false)
?>
~~~
>[success] ### 循环数组
~~~
// 设置页面编码格式
header('content-type:text/html;charset=utf-8');
// 定义数组
$foodArr = array('榴莲','西蓝花','鸡蛋');
// 获取数组的元素,下标从0开始
echo $foodArr[1];
echo '
';
// 打印数组所有内容
// echo $foodArr; // 这种方式打印不出来数组内容,返回字符串‘Array’
// 直接输出复杂类型
print_r($foodArr); // Array ( [0] => 榴莲 [1] => 西蓝花 [2] => 鸡蛋 )
echo '
';
// 遍历 PHP中数组没有.length的写法
// 获取数组长度用count('数组名称')
for($i=0;$i
echo '
';
echo $foodArr[$i];
}
?>
~~~
>[success] ### 循环数组(js对象)
~~~
这里为什么还是循环数组呢,因为'PHP'中分好几种数组:
1. 正常有'index索引'的数组
2. js中的'对象键值对'方式,在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 '
'.$key.'------'.$value;
}
?>
~~~
>[success] ## PHP输出HTML页面
~~~
PHP可以用'字符串拼接'来实现拼接好'html结构'返回给浏览器。
下面有两种方式,'第一种'(不推荐),的样式是直接在标签上拼接'style',可读性差,看着也不方便,
'第二种','PHP'可以和'HTML'混合在一起使用
~~~
>[success] ### 方式1
~~~
// 设置页面编码格式
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
echo '
明星:'.$starArr[$i]['name'].''.'出演了:'.$starArr[$i]['film'] .'好朋友是:'.$starArr[$i]['friend'].'
';}
?>
~~~
>[success] ### 方式2
~~~
// 声明对象数组
$arr = array(
array('name'=>'刘德华'),
array('name'=>'吴京'),
array('name'=>'黄渤'),
array('name'=>'汪峰')
);
?>
Documentp{
font-size: 16px;
color: red;
}
foreach ($arr as $key => $val) {
echo '
' . $arr[$key]['name'] . '
';}
?>
~~~