基礎(chǔ)語(yǔ)法

PHP.jpg

變量

  • 變量:它是內(nèi)存中用于臨時(shí)存儲(chǔ)數(shù)據(jù)的一個(gè)空間,這個(gè)空間的名字就是變量
    • 變量名必須區(qū)分大小寫(xiě),其余函數(shù)名,方法名,類(lèi)名都不區(qū)分大小寫(xiě)
    • 變量以$開(kāi)頭 只能包含字母,數(shù)字下劃線(xiàn),只能以字母,下劃線(xiàn)開(kāi)頭
// <?php?> 是php的語(yǔ)法標(biāo)簽格式
<?php
$v1 = 1;
$v2 = 2;
$result = $v1 + $v2;
// echo 是返回值
echo $result ;
//刪除變量
// $v3 = 3;
unset($v3);
?>
  • 可變變量
//可變變量

$v = "age";
$age = 20;
//此時(shí) $v 被解析成 age
echo $v,"<br/>";

//$v被解析成 age 編程 $age 被解析成20
echo $$v,"<br/>"
  • 預(yù)定義變量
$_GET       用于表單提交 get方式提交
$_POST     用于表單提交 post方式提交的數(shù)據(jù)
$_REQUEST 用于接受get方式提交,post方式提交的數(shù)據(jù)
$_SERVER    記錄服務(wù)端和客戶(hù)端的相關(guān)信息
$_COOKIE    一種會(huì)話(huà)技術(shù)
$_SESSION   一種會(huì)話(huà)技術(shù)
$_FILES          用于記錄用戶(hù)上傳的文件
$GLOBALS    用于記錄全局變量

//內(nèi)存原理
1.棧區(qū): 保存的是變量名,引用,讀取速度快
2.堆區(qū):復(fù)雜數(shù)據(jù)存儲(chǔ)存儲(chǔ),比如:數(shù)組,對(duì)象
3.數(shù)據(jù)段:簡(jiǎn)單數(shù)據(jù):整形,浮點(diǎn)型,布爾
4.代碼段:存儲(chǔ)的是源代碼的對(duì)應(yīng)的機(jī)器指令
5.輸出緩存:只要遇到輸出命令: echo,print輸出的數(shù)據(jù) 先寸放 在 輸出緩存中

image.png
  • 執(zhí)行過(guò)程


    image.png
  • 傳值
    • 賦值傳值
<?php
//1.賦值傳值
$v1 = 10;
$v2 = $v1;

echo $v1;
>
  • 引用傳值
<?php

//2.引用傳值
$v3 = 10;
//$v4引用的是$v3的地址 
$v4 = &$v3;
$v4 = 20;
echo $v3;
?>

常量

  • 定義之后不允許修改,也不允許刪除
//語(yǔ)法1
// define("常量名","常量值");  可以在分支結(jié)構(gòu)語(yǔ)句中
define("gg","70");
echo gg;

//語(yǔ)法2 用 const聲明常量。不可以在分支結(jié)構(gòu)語(yǔ)句中

const ll = 99;
echo ll;

//獲取所有的常量
$result =  get_defined_constants();
print_r($result);

  • 魔術(shù)常量
<?php
__FILE__  用于獲取當(dāng)前文件完整的路徑和文件名
__DIR__  用于獲取當(dāng)前文件的路徑
__LINE__  用于獲取當(dāng)前代碼的行數(shù)
__FUNCTION__ 用于獲取當(dāng)前函數(shù)的函數(shù)名
__METHOD__ 用于獲取當(dāng)前方法的方法名
__CLASS__ 用于獲取當(dāng)前類(lèi)的類(lèi)名
__NAMESPACE__ 用于獲取當(dāng)前空間的空間名


?>

數(shù)據(jù)類(lèi)型

標(biāo)量數(shù)據(jù)類(lèi)型

int整形
float浮點(diǎn)型
string 字符串行
boolen 布爾

  • 字符函數(shù)

    • trim() 去空格
    • strlen() 獲取字符串的長(zhǎng)度,但是不能正確處理中文字符串
    • mb_strlen() 獲取字符串的長(zhǎng)度,能正確處理中文字符串
  • 其中在字符串中會(huì)遇到一些特殊的符號(hào),我們需要用到轉(zhuǎn)義符

\’  單引號(hào)
\"   雙引號(hào)
\t tab符
\r 回車(chē)符
\n 換行符
\\  \
\$  $
復(fù)合數(shù)據(jù)類(lèi)型

數(shù)組 類(lèi)型
對(duì)象 類(lèi)型

特殊的數(shù)據(jù)類(lèi)型

null
resource 資源類(lèi)型

  • var_dunp()函數(shù)可以輸出數(shù)據(jù)類(lèi)型和數(shù)據(jù)值

var_dump(false); 結(jié)果是:bool(false)

數(shù)據(jù)類(lèi)型的轉(zhuǎn)換和判斷
  • 當(dāng)參與運(yùn)算的2個(gè)數(shù)據(jù)類(lèi)型不同失敗,php會(huì)自動(dòng)進(jìn)行轉(zhuǎn)換
$num = 100;
$num1 = "100yuan";
echo $num * $num1;

  • 強(qiáng)制轉(zhuǎn)換
(float)變量  轉(zhuǎn)換為浮點(diǎn)型
(array)變量   轉(zhuǎn)換數(shù)組
(object)變量  轉(zhuǎn)換為對(duì)象
(string)變量  轉(zhuǎn)換為浮字符串
(boolean)變量  轉(zhuǎn)換為布爾
  • 數(shù)據(jù)類(lèi)型的判斷
<?php
//判斷是不是 int float strong bool類(lèi)型
is_int()
is_float()
is_string()
is_bool()
// 判斷是不是標(biāo)量的數(shù)據(jù) 類(lèi)型(就是上面的4中類(lèi)型 int,float,string,bool)
is_scalar() 
//判斷對(duì)象 數(shù)組類(lèi)型
is_object()
is_array()

//判斷null 和 資源類(lèi)型
is_null()
is_resource()
//用于判斷變量是否設(shè)置值
isset()
//判斷變量是為空
//此處的空等效于返回布爾false的值都被empty認(rèn)為是空
//如果是空 返回true
empty()

?>

流程控制

  • 順序結(jié)構(gòu)
  • 分支結(jié)構(gòu)
  • if分支

if (condition) {
    # code...
}else {
    # code...
}

  • 多分支
switch ($variable) {
    case 'value':
        # code...
        break;
    
    default:
        # code...
        break;
}
  • 循環(huán)
  • for
  • while
文件引入
  • require

  • require(文件名)

  • require_once(文件名)

  • include

  • include(文件名)

  • include_once(文件名)

區(qū)別:include在引入文件時(shí),如果引入的文件不存在則會(huì)報(bào)錯(cuò),但程序還會(huì)繼續(xù)向下執(zhí)行
require 在引入文件時(shí),如果引入的文件不存在則會(huì)報(bào)錯(cuò),會(huì)終端程序的執(zhí)行
include_once,require_once每次引入文件時(shí),都會(huì)檢查索要引入的文件之前有沒(méi)有被引入過(guò),如果有引入過(guò)就不會(huì)再引入

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容