PHP基礎之常量與變量

一、變量:用來存儲信息的空間大小 $varphp

二、常量:定義以後不能夠更改,標識符,而且給其賦值,常量是全局,在整個頁面中都可使用,常量通常有英文字母、下劃線、數字組成,開頭不能是數字和$
  使用define(常量的key,常量的value,true/flase)定義,define(number,2)
  true/false:大小寫問題,true--->大小寫不敏感,默認是true
  define(str,「icq」);
  echo STR; 不能打印不出 icq
三、字符串 「 」 ‘ ’
  字符串中有須要引號的地方要用單引號「 ‘ ’ 」或者「 \」\" "python

  使用 . 拼接字符串
  strlen() 計算字符串長度
  strops(字符串,須要尋找的字符串) 查找字符串,返回首次索引的位置nginx

四、運算符:+ - * / %(取餘)
  整除 echo intdiv(4,3)
    \php7.3.4nts>php.exe -R "var_dump(intdiv(4,3));"
  賦值運算符 =     +=     -=   *=      /=     %=   .=(轉化成字符串,拼接在一塊兒)
  自增自減 (i=8)
    $a=i++ $a=8 i=9 先賦值,後加一
    $a=++I $a=9 i=9 先加一,後賦值
    $a=--I $a=7 i=7 先減一,後賦值
    $a=i-- $a=8 i=7 先賦值,後減一
  比較運算符
    == 等於  ===絕對等於    !=或者<>不等於    !==絕對不等於   <     >    <=  >=
  邏輯運算符
    && and 與
    || or 或
    ! 非
    xor 異或(有且只有一個爲真時,則結果爲真) 相同爲0,不一樣爲1
  三元運算符:apache

    條件?表達式1:表達式2---->條件爲真時,執行表達式1,條件爲假時,執行表達式2
    isset($get_value)判斷$get_value是否有值,爲NULL時返回false
    表達式1??表達式2 若是表達式1有值,則返回它的值,若是沒有值,則執行表達式2(PHP7)
    $i=$a<=>$b 太空船操做符,若是$a大,則$i=1;若是$b大,則$i=-1;若是相等,則$i=0(PHP7)數組

五、簡易Web服務:IIS apache nginx tomcat
  PHP: php -S 0.0.0.0:port
  Python2: python -m SimpleHTTPServer port (默認端口爲8000)
  Python3: python -m http.server port瀏覽器

六、條件判斷:
  if(條件){條件成立時執行的代碼;}
  if(條件){條件成立時執行的代碼;}else{條件不成立時執行的代碼;}
  if(條件){條件成立時執行的代碼;}elseif elseif elsetomcat

  switch服務器

<?php  
echo "<meta charset='utf-8'>";  
$color=$_GET['color'];  
switch ($color) {  
    case 'red':  
        echo "紅色";  
        break;  
    case 'green':  
        echo "綠色";  
        break;  
    default:  
        echo "喜歡的顏色不在這";  
        break;  
}  
?>  

七、循環:
  for(初始值,條件,增量){要執行的} 循環cookie

<?php
echo "<meta charset='utf-8'>";
for ($i=0; $i < 5; $i++) { 
    echo "當前數字爲:".$i."\n\n";
}
  ?>

  foreach 循環session

<?php
echo "<meta charset='utf-8'>";
$array = array("one","two","there","for");
foreach ($array as $value) {
    echo $value."\n\n";
}
?>
<?php
$array = array("one","two","there","for");
$arr=array('one' =>1 ,"two"=>"2","three"=>true,"te"=>2e-10 );
foreach ($arr as $key => $value) {
    echo $key." is ".$value."\n\n";
}
?>

  while 循環

<?php
echo "<meta charset='utf-8'>";
$i=0;
while ($i<=10) {
    echo "Number is".$i."\n\n";
    $i++;
}
?>

  do while 循環

<?php
echo "<meta charset='utf-8'>";
$i=1;
do {
    echo "Number is".$i."\n\n";
    $i++;
} while ( $i <= 10)
?>

八、數組: print_r(); 能夠打印數組
    在單個變量中儲存多種類型的值
  類型:數字型數組,關聯型數組(鍵值對數組)、多維數組
  數字型數組
    $array=array("1",123,1.24,ture)
    下標是從0開始的,長度使用count()函數計算,遍歷使用for/foreach
  關聯型數組:
    $array=array("k1"=>value1,"k2"=>value2)
    下標是鍵,k1,k2,遍歷數組使用for/foreach
  多位型數組:
    $array=array(array(1,2,3),array(4,5,6),array(7,8,9));
  數組的排序:
    升序:sort() 降序:rsort()
    針對關聯型數組的值,升序:asort()
    針對關聯型數組的值,降序:arsort()
    針對關聯型數組的鍵,升序:ksort()
    針對關聯型數組的鍵,降序:krsort()

九、超級全局變量:
  $GLOBALS //包含所有變量的全局組合數組

<?php
$a=1;
$b=8;
function add()
{
    $GLOBALS['c']=$GLOBALS['a']+$GLOBALS['b'];
}
add();
echo $GLOBALS["c"];
?>

  $_SERVER //包含請求頭中信息,用戶的IP、用戶UA、頭信息等等

<?php
echo $_SERVER["PHP_SELF"]."<br>";
echo $_SERVER["SERVER_NAME"]."<br>";
echo $_SERVER["HTTP_REFER"]; //在那個頁面跳轉過來
echo $_SERVER["HTTP_USER_AGENT"]; //服務器的版本
?>

  $_REQUEST //包含用戶提交的全部數據(POST/GET/COOKIE等)
  $-POST //包含用戶POST方式發過來的數據
  $_GET //包含用戶GET方式發過來的數據
  $_FILES //包含用戶發過來的文件對應的數據
  $_EVN //包含服務端環境變量的數組
  $_COOKIE // 包含COOKIE中的數據
  $_SESSION //包含了session中的數據

十、cookie和session的比較:

  • cookie是存放在用戶的瀏覽器中,是服務端經過返回包中set-cookie設置,cookie表示用戶的瀏覽器和服務器之間會話狀態,登陸成功後方可獲取cookie數據,該數據通常具備時效性,失效以後須要用戶從新去登陸。有了cookie數據以後,用戶的每次請求都會帶上cookie,服務端會驗證該cookie的合法性和時效性,cookie的發送須要遵循瀏覽器的同源策略。
  • session是存放在服務端的,表示用戶和服務器時間的會話狀態,session和cookie是一一對應的,服務器也須要記住哪一個用戶登陸了該站點,通常狀況下,session以文件的形式保存在/tmp文件中,形式爲sess_XXX,例如:sess_5mt9vacml24gp0j5eru386iuf5,此刻服務器給瀏覽器分配的cookie是:5mt9vacml24gp0j5eru386iuf5,只要該cookie被修改過,那麼服務器就要求用戶從新登陸。

十一、有意思的常量(預約義常量):

  __LINE__;             表示所在的行號   __FILE__ ;               表示當前文件的路徑及文件名   __DIR__;                  表示當前文件的路徑   __FUNCTION__;      表示當前定義的函數名   __CLASS__;             表示當前類名

相關文章
相關標籤/搜索