一門語言究竟是解釋型仍是編譯型取決因而否保存了可執行代碼。php
註釋html
讀取源碼 詞法分析 語法分析 編譯(生成opcode緩存) 由zend engine執行 opcode緩存保存在內存中,因此PHP執行效率很是高。git
<?php
echo 'web test 標準風格'
?>
複製代碼
<?
echo 'web test 短標記風格'
?>
複製代碼
<%
echo 'web test asp風格'
%>
複製代碼
<script language="php">
echo 'web test Script標記風格'
</script>
複製代碼
a. 添加 echo ''; b. 經過 header('content-type:text/html;charset=utf-8');web
echo '呵呵<br>'; //呵呵
echo 10,'<br>'; //10
echo true,'<br>'; //1
echo false,'<br>'; //空
echo array(10); //Array
echo('aa'); //aa
echo('aa','bb'); //報錯
$n = print '呵呵<br>';
echo '<br>',$n
// 結論:
// 能夠輸出字符串和數字
// true輸出1,false輸出空,不要用echo輸出布爾型數據
// 不能輸出數組中元素,只能顯示Array
// echo能夠一次輸出多個值,第個值用逗號隔開
// echo帶括號只能輸出一個
// $輸出成功返回1,失敗返回0
複製代碼
print '呵呵<br>'; //呵呵
print '10<br>'; //10
print true.'<br>'; //1
print false.'<br>'; //空
print array(10); //Array
$n = print '呵呵<br>';
echo '<br>',$n
// 結論:
// 輸出規則和echo同樣
複製代碼
print_r('呵呵<br>'); //呵呵
print_r('10<br>'); //10
print_r(true.'<br>'); //1
print_r(false.'<br>'); //空
print_r(array(10)); //Array([0]=>10)
// 結論:
// 主要用來輸出數組
複製代碼
var_dump('呵呵'); echo '<br>'; //string(10) 呵呵
var_dump(10); echo '<br>'; // int(10)
var_dump(true); echo '<br>'; //bool(true)
var_dump(false); echo '<br>'; //bool(false)
var_dump(array(10)); //array(1) { [0]=> int(10) }
// 結論:
// 輸出佈局類型
// 輸出類型
複製代碼
a. 語句必須以分號(;)結尾 b. 關於大小寫:變量區分大小寫,關鍵定(if,else,for ...)不區分大小寫數組
傳值:緩存
<?php
$a=10;
$b=$a;
$a++;
echo $a,'<br>'; //11
echo $b,'<br>'; //10
?>
複製代碼
傳址:bash
<?php
$a=10;
$b=&$a; //&表示取出變量的地址
$a++;
echo $a,'<br>'; //11
echo $b,'<br>'; //11
?>
複製代碼
總結上面例題:傳值,保存值的空間是兩個,更改一個空間的值不影響另外的變量;傳地址,保存值的空間就一個,更改一個變量的值,另外一個變量也會變化,由於兩個變量指向同一個空間。函數
$a=10;
$b=&$a; //&表示取出變量的地址
unset($a); //銷燬的只是變量名
echo $b //10
複製代碼
unset() 銷燬的只是變量名,變量的值由PHP垃圾回收機制去銷燬,垃圾數據就是沒有變量引用的數據佈局
$_COOKIE
$_ENV
$_FILES
$_GET
$_POST
$_REQUEST
$_SERVER
$_SESSION
$GLOBALS
複製代碼
超全局變量以$_開關 全部的超全局變量數據類型都是數組post
示例:$_GET 保存get提交的全部數據
<form action="" method="get" action="">
姓名:<input type="text" name="name">
密碼:<input type="password" name="pass" id="">
<input type="submit" value="提交">
</form>
<?php
var_dump($_GET);
?>
複製代碼
示例:$_POST 保存get提交的全部數據
<form action="" method="post" action="">
姓名:<input type="text" name="name">
密碼:<input type="password" name="pass" id="">
<input type="submit" value="提交">
</form>
<?php
var_dump($_POST);
?>
複製代碼
示例:$_REQUEST 保存get和post的數據
<form method="post" action="?add=北京">
姓名:<input type="text" name="name">
密碼:<input type="password" name="pass" id="">
<input type="submit" value="提交">
</form>
<?php
var_dump($_REQUEST);
// array(3) { ["add"]=> string(6) "北京" ["name"]=> string(3) "123" ["pass"]=> string(3) "456" }
var_dump($_GET); echo '<br>';
var_dump($_POST); echo '<br>';
?>
複製代碼
示例:$_REQUEST 保存 get 和 post 的值,默認若是有同名的元素 post 的值將 get 的值覆蓋(php.ini能夠修改規側)
<form method="post" action="?name=北京">
姓名:<input type="text" name="name">
密碼:<input type="password" name="pass" id="">
<input type="submit" value="提交">
</form>
<?php
$_REQUEST:array(2) { ["name"]=> string(4) "user" ["pass"]=> string(4) "pass" }
$_GET:array(1) { ["name"]=> string(6) "北京" }
$_POST:array(2) { ["name"]=> string(4) "user" ["pass"]=> string(4) "pass" }
?>
複製代碼
php.ini
request_order = "GP" // request_order = "PG"
複製代碼
<?php
$a = '呵呵';
$b = 'a';
echo $$b;
// $$b: $b裏保存的變量a,$a='呵呵',全部$$b等於呵呵
?>
複製代碼
<?php
function openjpg(){
echo '打開jpeg';
}
function opengif(){
echo '打開gif';
}
function openpng(){
echo '打開png';
}
function openImsge($type){
if($type == 'jpg'){
echo '打開jpeg';
}elseif($type == 'git'){
echo '打開gif';
}elseif($type == 'png'){
echo '打開png';
}else{
echo 'error';
}
// 可變
$fn = 'open'.$type;
$fn();
}
?>
複製代碼
當一個數據在腳本執行的週期內不發生變化,能夠將這個數據保存在常量中。 常量前面沒有$。 語法:define(常量名,常量值,是否區分大小寫),默認是區分大小寫的。 定義常量能夠用特殊字符,可是調用的時候必須經過 'constant' 關鍵字調用 常量一但定義就不能從新定義,能夠在定義常量的時候先經過 defined函數判斷常量是否已經定義 常量的規範寫法是大寫
示例
define('NAME','李白', false); //true表示不區分大小寫,false區分大小寫
echo NAME,'<br>'; //李白
echo name,'<br>'; //報錯
複製代碼
定義常量能夠用特殊字符
define('^_^','開心',true);
echo constant('^_^'),'<br>'; //開心
複製代碼
判斷常量是否已經定義
if(!defined('NAME')){
define('NAME','杜甫');
}else{
echo '已經定義';
}
複製代碼
還能夠用const來聲明常量
const NATION = '中國';
echo NATION;
複製代碼
echo PHP_VERSION //php版本
echo PHP_OS //運行的操做系統
複製代碼
echo __LINE__; //當前行號
echo __FILE__; //當前文件
複製代碼
var_dump(get_defined_constants());
//true:表示將全部的常量分類顯示。
複製代碼