[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解決跨域
- 下載文件功能