1、在學習以前先了解一下PHPjavascript
PHP 是服務器端腳本語言。(全稱:PHP:Hypertext Preprocessor,即"PHP:超文本預處理器")是一種通用開源腳本語言。php
PHP 文件可包含文本、HTML、JavaScript代碼和 PHP 代碼,PHP 代碼在服務器上執行,結果以純 HTML 形式返回給瀏覽器,PHP 文件的默認文件擴展名是 ".php"html
PHP 能夠生成動態頁面內容, 能夠建立、打開、讀取、寫入、關閉服務器上的文件,能夠收集表單數據,能夠發送和接收 cookies, 能夠添加、刪除、修改您的數據庫中的數據,能夠限制用戶訪問您的網站上的一些頁面,能夠加密數據等java
2、接下來開始正式學習PHP數據庫
PHP 腳本能夠放在文檔中的任何位置。PHP 腳本以 <?php 開始,以 ?> 結束, PHP中的每一個代碼行都必須以分號結束。分號是一種分隔符,用於把指令集區分開來。經過 PHP,有兩種在瀏覽器輸出文本的基礎指令:echo 和 print。編程
如:<div><?php echo "歡迎來到PHP世界!"; ?></div>數組
PHP 變量瀏覽器
咱們沒必要向 PHP 聲明該變量的數據類型。PHP 會根據變量的值,自動把變量轉換爲正確的數據類型。在強類型的編程語言中,咱們必須在使用變量前先聲明(定義)變量的類型和名稱,例如(TypeScript(強類型語言))。服務器
PHP 變量做用域cookie
變量的做用域是腳本中變量可被引用/使用的部分。PHP 有四種不一樣的變量做用域:local(局部)、global(全局)、static(靜態)、parameter(參數)
1.在全部函數(function)外部定義的變量,擁有全局做用域。除了函數外,全局變量能夠被腳本中的任何部分訪問,要在一個函數中訪問一個全局變量,須要使用 global 關鍵字。
2.在 PHP 函數內部聲明的變量是局部變量,僅能在函數內部訪問
如:<div class="box">
<?php
$liang = 8;
function hermit(){
$hua = 10;
echo "<div class='box1'>測試測試</div>";
global $liang; //全局變量必須使用global關鍵字才能拿到。不然在函數裏面拿不到全局變量
$aa = $liang + $hua;
echo $aa;
};
hermit();
?>
</div>
3.PHP 將全部全局變量存儲在一個名爲 $GLOBALS[index] 的數組中。 index 保存變量的名稱。這個數組能夠在函數內部訪問,也能夠直接用來更新全局變量。
如:<div class="box2">
<?php
$tu = 7;
$lis = 9;
$hah = 3;
function myLiang (){
$GLOBALS['hah'] = $GLOBALS['tu'] + $GLOBALS['lis'];
}
myLiang();
echo $hah;
?>
</div>
當一個函數完成時,它的全部變量一般都會被刪除。然而,有時候您但願某個局部變量不要被刪除。要作到這一點,請在您第一次聲明變量時使用 static 關鍵字:
如:<?php
function myTest(){
static $x=0; //注:每次調用該函數時,該變量將會保留着函數前一次被調用時的值,且該變量仍然是函數的局部變量。可是若是不加static,則3次調用輸出都是 0
echo $x;
$x++;
}
myTest(); //第一次調用輸出 0
myTest(); //第二次調用輸出1
myTest(); //第三次調用輸出2
?>
注:若是不加static,則3次調用都是輸出 0
參數很簡單,和javascript差很少,不過參數也要帶$符號,如:
<div class="box3">
<?php
function liangs($hh){
echo $hh;
}
liangs(8);
?>
</div>
echo 和 print 區別: echo 能夠輸出一個或多個字符串、print 只容許輸出一個字符串,返回值總爲 1
提示:echo 輸出的速度比 print 快, echo 沒有返回值,print有返回值1。
例:<?php
echo "<h2>PHP 頗有趣!</h2>";
echo "Hello world!<br>";
echo "我要學 PHP!<br>";
echo "這是一個", "字符串,", "使用了", "多個", "參數。"; //輸出:這是一個字符串,使用了多個參數。
?>
<?php
print "<h2>PHP 頗有趣!</h2>";
print "Hello world!<br>";
print "我要學 PHP!<br>";
?>
以 <<<EOF 開始標記開始,以 EOF 結束標記結束,結束標記必須頂頭寫,不能有縮進和空格,且在結束標記末尾要有分號 。
開始標記和結束標記相同,好比經常使用大寫的 EOT、EOD、EOF 來表示,可是不僅限於那幾個(也能夠用:JSON、HTML等),只要保證開始標記和結束標記不在正文中出現便可。
位於開始標記和結束標記之間的變量能夠被正常解析,可是函數則不能夠。在 heredoc 中,變量不須要用鏈接符 . 或 , 來拼接
例:
String(字符串), Integer(整型), Float(浮點型), Boolean(布爾型), Array(數組), Object(對象), NULL(空值)。
1.字符串,使用雙引號或單引號括起來的任何文本。如 : $a = 'lalalalll, 會員卡 ';
2.整形:整數是一個沒有小數的數字, 必須至少有一個數字 (0-9) ,不能包含逗號或空格,整數能夠是正數或負數,能夠用三種格式來指定:十進制, 十六進制( 以 0x 爲前綴)或八進制(前綴爲 0)。
如:
<?php
$c = 2541;
var_dump($c);
echo '<br/>';
$d = -28;
var_dump($d);
echo '<br/>';
$e = 0x8c;//十六進制數
var_dump($e); //140
echo '<br/>';
$f = 047;//八進制數
var_dump($f); //39
echo '<br/>';
?>
附: var_dump() 函數返回變量的數據類型和值
3. 浮點型:浮點數是帶小數部分的數字,或是指數形式。
如:
<?php
$g = 5.234;
var_dump($g);
echo '<br/>';
$h = 2.4e3;
var_dump($h);
echo '<br/>';
$i = 8E-5;
var_export($i);
?>
4.布爾型:布爾型能夠是 true或 false。布爾型一般用於條件判斷。
5.數組:數組能夠在一個變量中存儲多個值。
如:
<?php
$arr = array('liang', 'tu', 'hua', 'hermit', 8);
var_dump($arr);
?>
6.對象:對象數據類型也能夠用於存儲數據。在 PHP 中,對象必須聲明。首先,你必須使用class關鍵字聲明類對象。類是能夠包含屬性和方法的結構。而後咱們在類中定義數據類型,而後在實例化的類中使用數據類型
如:<?php
class Car{
var $color;
function __construct($color = '#0f0'){
$this->color = $color;
}
function what_color(){
return $this->color;
}
}
function print_vars($obj){
foreach (get_object_vars($obj) as $prop => $val){
echo "t$prop = $val\n";
}
}
$herbie = new Car("white");
//顯示herbie屬性
echo "\therbie: Properties\n";
print_vars($herbie);
?>
附:關鍵字this就是指向當前對象實例的指針,不指向任何其餘對象或類。
7.NULL 值:NULL 值表示變量沒有值。NULL 是數據類型爲 NULL 的值。NULL 值指明一個變量是否爲空值。 一樣可用於數據空值和NULL值的區別。能夠經過設置變量值爲 NULL 來清空變量數據
如:
<?php
$k = "liang Tuhua";
echo "未清空以前: $k <br/>"; //輸出:未清空以前: liang Tuhua
$k = null;
echo "清空以後: $k <br/>"; //輸出:清空以後:
?>
附:var_dump() 方法,判斷一個變量的類型與長度,並輸出變量的數值,若是變量有值,則輸出是變量的值,並返回數據類型。顯示關於一個或多個表達式的結構信息,包括表達式的類型與值。數組將遞歸展開值,經過縮進顯示其結構。
附:echo,print,print_r,var_dump 的區別:
1.echo:輸出一個或者多個字符串。
2.print:和 echo 最主要的區別: print 僅支持一個參數,並老是返回 1。
3.print_r:打印關於變量的易於理解的信息,若是給出的是 string、integer 或 float,將打印變量值自己。若是給出的是 array,將會按照必定格式顯示鍵和元素。object 與數組相似。 記住,print_r() 將把數組的指針移到最後邊。使用 reset() 可以讓指針回到開始處。
4.var_dump:此函數顯示關於一個或多個表達式的結構信息,包括表達式的類型與值。數組將遞歸展開值,經過縮進顯示其結構。
5.var_dump 和 print_r 的區別:var_dump 返回表達式的類型與值而 print_r 僅返回結果,相比調試代碼使用 var_dump 更便於閱讀。