由于web端只能做做數(shù)據(jù)的讀取,如果要存儲數(shù)據(jù)是比較麻煩的(當(dāng)然cookie可以做存儲,但是并不是很安全)。PHP正好提供一個比較好的方式,就是將數(shù)據(jù)存儲在服務(wù)端,實際上web端和APP都屬于客戶端,唯一區(qū)別就是,web端展示數(shù)據(jù)需要依賴瀏覽器,而APP需要的是移動終端,或者說是一部手機。web端的大多數(shù)數(shù)據(jù)都是來自于服務(wù)器的。而且php可以像JS的在html中的使用一樣,直接使用格式如下:
<?php 要實現(xiàn)的php語句 ?>
php的日志輸出echo
<?php echo 要輸出的內(nèi)容 ?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Echo語句</title>
</head>
<body>
<p>
//這樣就可以直接在網(wǎng)頁上顯示"歡迎使用php"
<?php echo"歡迎使用php" ?>
</p>
</body>
</html>
php基礎(chǔ)語法規(guī)則
php語句以
;結(jié)尾
變量:
php的變量聲明變量名必須以$標識,以字母或者下劃線開始 ,由字母,數(shù)字,下劃線組成,且區(qū)分大小寫。eg:$var = "歡迎使用php"; $_name = "屁蜂",當(dāng)然函數(shù)形參規(guī)則一樣。php對變量的聲明也是不需要指定數(shù)據(jù)類型的,自動判斷類似于JS
數(shù)組(字典)php中不存在:
php中的數(shù)組array分為索引數(shù)組和關(guān)聯(lián)數(shù)組,是一個用,分隔鍵值對集合;索引數(shù)組可以認為是其他語言中的數(shù)組,無需指定key,key就是從0開始的下標,只需要指定value,關(guān)聯(lián)數(shù)組則可以理解為其他語言中的字典,當(dāng)然需要手動指定key和value;創(chuàng)建php數(shù)組 array(鍵值對集合)eg:$book = array(key => value),其中的=>表示關(guān)聯(lián),可以直接讀作關(guān)聯(lián)
函數(shù):
php函數(shù)與其他腳本語言的函數(shù)類似比如JS,'function'關(guān)鍵字開頭,如果有返回值,直接在函數(shù)體內(nèi)return即可。
$name = "阿凱"
echo "歡迎$name使用PHP"
echo '歡迎$name使用PHP'
$var = "歡迎使用"."php";
echo $var;
//長字符串其中的GOD可以任意定義,但是必須首尾一樣,且尾部標識必須另起一行,緊跟上一行,中間不能有其他字符
<?php
$string1 = <<<GOD
我有一只小毛驢,我從來也不騎。
有一天我心血來潮,騎著去趕集。
我手里拿著小皮鞭,我心里正得意。
不知怎么嘩啦啦啦啦,我摔了一身泥.
GOD;
echo $string1;
?>
//數(shù)組
//數(shù)組添加元素
$arr = array();
$arr[] = el1;
$arr[] = el2;
...
$arr[] = eln;
array_push($arr,el1);
array_push($arr,el2);
...
array_push($arr,eln);
//索引數(shù)組
$numbers = array("1","2","3");
//關(guān)聯(lián)數(shù)組
$book = array(
"id" = "123456";
"name" = "譚浩強C語言(第十版)";
);
$books = array($book,$book,$book);
$books1 = array();
$books1[] = $book;
$books1[] = $book;
$books1[] = $book;
$books2 = array();
array_push($books2,$book);
array_push($books2,$book);
array_push($books2,$book);
//books,books1,books2一樣
//函數(shù)
function test($a,$b)
{
return "測試".$a.$b;
}
字符串:
PHP中的字符串用""或者''包裹而且如果""包裹的內(nèi)容如果有變量存在,會自動將變量解析成變量值拼接到字符串中,''不會;字符串拼接的另一個方法是以.連接eg :$var = "歡迎使用"."php"。長字符串變量定義可以使用<<<
strlen:獲取字符串的長度
去空格:trim去除一個字符串兩端空格。
rtrim是去除一個字符串右部空格,其中的r是right的縮寫。
ltrim是去除一個字符串左部空格,其中的l是left的縮寫。
字符串截取:英文字符串截取使用substr(字符串變量,開始截取的位置,截取個數(shù)),中文字符串截取使用mb_substr(字符串變量,開始截取的位置,截取個數(shù), 網(wǎng)頁編碼)
字符串查詢:字符串查詢使用strpos(要處理的字符串, 要定位的字符串, 定位的起始位置[可選])
字符串替換:字符串替換使用str_replace(要查找的字符串, 要替換的字符串, 被搜索的字符串, 替換進行計數(shù)[可選])
格式化字符串:格式化字符串字符串使用sprintf(格式字符串, 操作字符串);浮點型格式字符串組成 %+占位符+整個格式化后的串長度(包括小數(shù)點)+.+小數(shù)部分位數(shù)+f
字符串合并:字符串?dāng)?shù)組合并(類似于拼接可以添加連接符)使用implode(分隔符[可選], 數(shù)組),省略分隔符,就是字符串拼接
字符串分隔:分隔使用explode(分隔符[可選], 字符串)
//獲取字符串的長度
$str = 'hello';
$len = strlen($str);
echo $len;//輸出結(jié)果是5
//去空格
echo trim(" 空格 ")."<br>";
echo rtrim(" 空格 ")."<br>";
echo ltrim(" 空格 ")."<br>";
//字符串截取
substr($str, 2, 4);//英文字符串
mb_substr($str, 4, 2, 'utf8');//中文字符串
//字符串查詢
$str = 'I want to study at imooc';
$pos = strpos($str, 'imooc');
echo $pos;//結(jié)果顯示19,表示從位置0開始,imooc在第19個位置開始出現(xiàn)
//字符串替換
$str = 'I want to learn js';
$replace = str_replace('js', 'php', $str);
echo $replace;//結(jié)果顯示I want to learn php
//格式化字符串
$str = '99.9';
$result = sprintf('%01.2f', $str);
echo $result;//結(jié)果顯示99.90
//字符串合并
$arr = array('Hello', 'World!');
$result = implode('', $arr);
print_r($result);//結(jié)果顯示Hello World!
//字符串分隔
$str = 'apple,banana';
$result = explode(',', $str);
print_r($result);//結(jié)果顯示array('apple','banana')
運算符:除去幾個比較特殊的,.=(連接字符串),===(恒等)與其他語言的運算符都一樣
控制結(jié)構(gòu):與其他語言的控制結(jié)構(gòu)相似,不同之處在于:switch條件表達式可以是字符串;循環(huán)結(jié)構(gòu)除了for,while等等,還可以使用foreach循環(huán)
//switch
function getNumber($name)
{
switch($name)
{
case "xiaoshi":
{
echo 0;
}
break;
case "xiaofei":
{
echo 1;
}
break;
case "jiaoshou":
{
echo 2;
}
case "chenwei":
{
echo 3;
}
break;
}
}
getNumber("xiaoshi");//輸出0
getNumber("xiaofei");//輸出1
getNumber("jiaoshou");//輸出2
getNumber("chenwei");//輸出3
//foreach