【学习笔记】PHP基础
生活随笔
收集整理的這篇文章主要介紹了
【学习笔记】PHP基础
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
輸出
- echo “< h1>hello world< /h1>”;
- echo("< h1>hello world< /h1>");
- print_r("< h1>hello world< /h1>");
- var_dump(100); // int(100)
- var_dump(“hello”); // string(5) “hello”
變量定義
- 變量以$符號開始,后面跟著變量的名稱
- 變量名必須以字母或者下劃線字符開始
- 變量名只能包含字母數字字符以及下劃線
- 變量名不能包含空格
- 變量名是區分大小寫的
分支語句
<?php $isTrue = true; if (isTrue) {echo "True"; } else {echo "False"; }$num = 1; switch (num) {case 1:echo "1";break;case 2:echo "2";break;default:break; }for ($i = 0; $i < 5; $i++) {echo $i; } ?>函數
<?php function print() {print "Hello world<br/>"; } print(); ?>數組
<?php// 普通數組$color = array("red", "blue", "green");var_dump($color);echo $color[1];for($i=0;$i < count($color);$i++) {echo "$color[i]<br>";}// 關聯數組$arr = array("zhangsan" => "張三", "lisi" => "李四", "wangwu" => "王五");var_dump($arr); // array(3){["zhangsan"]=>string(6) "張三" ["lisi"]=>string(6) "李四" ["wangwu"]=>string(6) "王五"}foreach($arr as $key => $value) {echo "{$key}:{$value}"; // zhangsan:張三 lisi:李四 wangwu:王五}// 二維數組$arr2 = array(array("name" => "張三", "math" => 100, "english" => 95), array("name" => "李四", "math" => 92, "english" => 83), array("name" => "王五", "math" => 80, "english" => 75));for($i = 0; $i < 3; $i++) {foreach($arr2[$i] as $key => $value) {echo "{$key}:{$value} ";}echo "<br>";} ?>數組函數
字符串函數
時間函數
數據傳輸格式
- xml
優點:- 數據種類豐富
- 傳輸數據量大
缺點: - 解析麻煩
- 不適合輕量級數據
- json(大多數移動端使用)
優點:- 解析容易
- 適合輕量級數據
缺點: - 數據種類比較少
- 傳輸數據量小
AJAX
AJAX:異步的JavaScript和XML
AJAX是前后端數據的搬運工,可以異步執行
- 同步:阻塞,當前程序運行必須等前一個程序運行結束才能運行
- 異步:非阻塞,當前程序運行與前一個程序無關
get和post提交
- get提交
直接在url后插入數據 http://localhost/1.php?username=abc&password=123
優點:簡單
缺點:不安全;數據量有上限 - post提交
url不會顯示數據 http://localhost/1.php
優點:安全;理論上沒有上限
缺點:底層實現比get復雜
json
var arr = [100, true, "hello"]; var str = JSON.stringify(arr); // 數組轉字符串 var arr1 = JSON.parse(str); // 字符串轉數組php中處理json
$arr = array('username' => 'abc', 'password' = > '123'); $str = json_encode($arr); // 數組轉字符串 $arr2 = json_decode($str); // 字符串轉數組php 連接 mysql
<?php$link = mysql_connect("localhost", "root", "123456");if (!link) {echo "連接失敗";exit;}mysql_set_charset("utf8");mysql_select_db("php");$sql = "SELECT * FROM students";$res = mysql_query($sql);echo "<table border='1'>";echo "<tr><th>姓名</th><th>成績</th></tr>";while($row = mysql_fetch_assoc($res)) {echo "<tr><td>{$row['name']}</td><td>{$row['score']}</td></tr>";}echo "</table>";mysql_close($link); ?>跨源請求
AJAX只能下載同源的數據,不能下載跨源的數據
同源:同協議、同域名、同端口號
跨源的方式:
- 修改ajax同源協議(不建議)
- 委托php文件進行跨源
- JSONP跨域
JSONP跨源步驟
cookie
<!DOCTYPE html> <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Test</title><script type="text/javascript">window.onload = function() {var oDiv = document.getElementById('div1');setCookie('name', 'Tom', {expires: 7});oDiv.innerHTML = getCookie('name');var oBtn = document.getElementById('remove');oBtn.onclick = function() {removeCookie('name');removeCookie('age');oDiv.innerHTML = getCookie('name');}}function setCookie(name, value, {expires, path, domain, secure}) {var cookieStr = encodeURIComponent(name) + "=" + encodeURIComponent(value);if (expires) {cookieStr += ";expires=" + getDateAfter(expires);}if (path) {cookieStr += ";path=" + path;}if (domain) {cookieStr += ";domain=" + domain;}if (secure) {cookieStr += ";secure";}document.cookie = cookieStr;}function getCookie(name) {var cookieStr = decodeURIComponent(document.cookie);var start = cookieStr.indexOf(name + '=');if (start == -1) {return null;} else {var end = cookieStr.indexOf(';', start);if (end == -1) {end = cookieStr.length;}var str = cookieStr.substring(start, end);return str.split('=')[1];}}function removeCookie(name) {document.cookie = encodeURIComponent(name) + "=;expires=" + new Date(0);}function getDateAfter(n) {var d = new Date();var day = d.getDate();d.setDate(n + day);return d}</script></head><body><button id="remove">remove</button><div id="div1"></div></body> </html>總結
以上是生活随笔為你收集整理的【学习笔记】PHP基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计网实验一 做网线实现对等网,进行文件共
- 下一篇: 5 天 将近 1500 Star 的 F