php-day2

一奕污、PHP基本語法

1.PHP標記

1)標準的標記

<?php
php代碼
?>
PHP 支持與HTML混編 ,混編的文件名珊蟀,以.php結尾菊值。


image.png

官方推薦標記。
如果是純PHP代碼建議省略結束標記育灸。


image.png

2)<script language=”php”>代碼</script>

image.png

3)<? 代碼 腻窒?>

短標記


image.png

改完配置文件,需重啟APACHE


image.png

4)<%代碼%>

ASP風格標記
修改配置文件


image.png

重啟apache


image.png

5)enctype

<form enctype="value">
  • enctype 屬性規(guī)定在發(fā)送到服務器之前應該如何對表單數(shù)據(jù)進行編碼磅崭。
  • 默認地儿子,表單數(shù)據(jù)會編碼為 "application/x-www-form-urlencoded"。就是說砸喻,在發(fā)送到服務器之前柔逼,所有字符都會進行編碼(空格轉換為 "+" 加號,特殊符號轉換為 ASCII HEX 值)割岛。


    image.png

2.語句結束標記

  • ;一行語句結束以分號結尾愉适。
  • js可以不加分號(自動判斷結束,補全分號)癣漆。
  • 但PHP要嚴格執(zhí)行维咸,否則解析出錯;


    image.png

3.注釋

  • 被注釋的代碼將不被執(zhí)行惠爽。
  • 在注釋里面我們可以寫程序的說明癌蓖,可以更好的有利于團隊合作。

1)行注釋

//
單行代碼不被執(zhí)行


image.png

2)塊注釋

/多行注釋/注釋多行代碼

image.png

二婚肆、變量

1.變量介紹

  • 簡言之租副,存儲值的容器。$stuNum = 4;
  • 在成語運行過程中较性,隨時可以發(fā)生變化的量用僧。

1)定義變量

$開頭后面接變量名。


image.png

2)變量名的規(guī)則

遵循標識符的命名規(guī)則赞咙,標識符是指在程序員編程過程中起的名字永毅,
如:變量名,常量人弓,函數(shù)名沼死。
標識符的命名規(guī)則:
①數(shù)字字母下滑線組成,不能以數(shù)字開頭崔赌。


image.png

②變量名嚴格區(qū)分大小寫


image.png

③不能使用系統(tǒng)關鍵字
image.png

image.png

④建議英文命名意蛀,見名識意。
  • name 姓名age 年齡
  • 通常有兩種方式
    • 下滑線命名:
      $goods_info 商品信息健芭。
      以下劃線分割兩個或兩個以上的單詞
      下劃線線命名一般用于變量名
    • 駝峰命名:
      image.png

      a 大駝峰
      GoodsInfo 每個單詞的首字母大寫县钥。 一般用于類名,和接口名 b 小駝峰 除了第一個單詞其他單詞首字母大寫慈迈。goodsInfo
      常用于函數(shù)名

3)可變變量

是一種特殊的變量若贮。
它的變量名 是 另外一個變量的值省有。


image.png

4)變量在內存中的表現(xiàn)形式

  • 變量由變量名和變量值組成;
    $a =100;
  • 內存谴麦,用來存儲運行的的程序蠢沿。
  • 變量名,和變量值匾效,是存儲在內存中的不同位置舷蟀。


    image.png
  • 內存組成:
    棧區(qū):空間小,運行速度快面哼,存儲野宜,變量名,函數(shù)名魔策,常量名等匈子。
    堆區(qū):空間大,但運行速度慢闯袒,一般存儲復雜數(shù)據(jù)(數(shù)組旬牲,和對象等)。
  • 全局數(shù)據(jù)區(qū): 存儲變量值搁吓,常量值等原茅。
  • 代碼區(qū): 存儲函數(shù),方法等堕仔。
  • 案例
$a =100;

創(chuàng)建變量時擂橘,將變量值100 存儲在全局數(shù)據(jù)區(qū)的變量區(qū)(產(chǎn)生存儲地址0x10001000)
在棧區(qū)開辟空間,存儲變量名$a,將變量值得存儲地址摩骨,存儲在變量命中通贞。

  • 讀取變量時
    讀取$a, 先到棧區(qū)恼五,拿到在變量區(qū)的存儲地址0x10001000,去此地址去讀取值昌罩。

2.變量操作

1)變量聲明

  • 變量聲明和賦值同時進行。
  • 變量不需要指定數(shù)據(jù)類型
  • PHP變量有類型灾馒。
    變量的值決定了變量的類型茎用。
  • PHP是弱類型語言。
    在程序運行變量還可以設置為其他類型的值


    image.png

2)獲取變量的值

image.png

image.png

3)常見的輸出語句

  • Echo 語句
    輸出字符串睬罗,變量或者表達式轨功。
    同時可以輸出多個。是語言結構


    image.png
  • Print語句
    也可以輸出字符串容达,變量或表達式古涧。
    不支持輸出多個。也是語言結構


    image.png
  • var_dump
    輸出一個或者多個變量的類型花盐,長度和值羡滑。
    一般用于打印復雜變量(數(shù)組和對象等)


    image.png
  • print_r 輸出變量的值
    輸出結果較var_dump簡潔菇爪。


    image.png

4)變量值的修改

age =18 ;age= 19;

5)刪除變量

  • 刪除變量名與變量值之間的關系。形成未定義變量柒昏。
  • 變量名和變量值不會立即消失凳宙。
  • PHP有專門的垃圾回收機制來處理。
unset($var)
image.png

6)mysql_connect() 函數(shù)打開非持久的 MySQL 連接

格式
mysql_connect(server,user,pwd,newlink,clientflag)


image.png
<?php
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con) {
  die('Could not connect: ' . mysql_error());
  }

// 一些代碼...

mysql_close($con);
?>

3.變量傳值

將一個變量傳遞給另外一個變量昙楚。

1) 值傳遞

image.png

num1 =100;num2 = $num1;

  • 獲取$num1的值近速。
  • 在變量區(qū)存儲100,產(chǎn)生新地址0x10001001诈嘿,
  • 在棧區(qū)堪旧,創(chuàng)建變量名num2, 將新地址0x10001001存儲在變量名num2中
  • 修改一個變量的值,另外一個變量不會改變奖亚。


    image.png

    刪除一個變量淳梦,對另外一個變量沒有影響。


    image.png

2)引用傳遞

地址傳遞

image.png

num1 =100;num2 = &$num1; &取地址符號昔字,它傳遞的是地址爆袍。
執(zhí)行過程

  • 先獲取$num1值的地址0x10001000;
  • 在棧區(qū)開辟空間作郭,創(chuàng)建變量$n2,存儲地址0x10001000;
  • 修改一個變量的值陨囊,另外一個變量也會改變。


    image.png

    刪除一個變量夹攒,對另外一個沒有影響蜘醋。


    image.png

4.預定義變量

PHP提前定義好的變量,直接使用咏尝,無需定義压语。


image.png

1)$_SERVER

["SERVER_NAME"]=> 服務器名
string(15) "www.default.com"
["SERVER_ADDR"]=> 服務器地址
string(9) "127.0.0.1"
["SERVER_PORT"]=> 服務器端口號
string(2) "80"
["REMOTE_ADDR"]=> 客戶機地址(remote,遠程的意思)
string(9) "127.0.0.1"

2)$_GET

HTTP GET方式提交過來的數(shù)據(jù)
通過瀏覽器地址欄傳遞數(shù)據(jù)编检,數(shù)據(jù)的安全性較低


image.png

案例:
form.html 文件代碼

<html>
  <head>
    <meta charset="utf-8">
    <title>菜鳥教程(runoob.com)</title>
  </head>
  <body>
    <form action="welcome.php" method="get">
      名字: <input type="text" name="fname">
      年齡: <input type="text" name="age">
      <input type="submit" value="提交"></form>
  </body>
</html>

當用戶點擊 "Submit" 按鈕時胎食,發(fā)送到服務器的 URL 如下所示: http://www.runoob.com/welcome.php?fname=Runoob&age=3
"welcome.php" 文件現(xiàn)在可以通過 _GET 變量來收集表單數(shù)據(jù)了(請注意,表單域的名稱會自動成為_GET 數(shù)組中的鍵):

歡迎 <?php echo $_GET["fname"]; ?>!<br>
你的年齡是 <?php echo $_GET["age"]; ?>  歲允懂。

3)$_POST

HTTP POST方式提交過來的數(shù)據(jù)


image.png

4)$_REQUEST

POST + GET的數(shù)據(jù)


image.png

三厕怜、常量

1.說明

程序運行過程中,值不會發(fā)生改變的量蕾总。
常量不能修改和刪除酣倾。

1)語法

define(常量名,常量值谤专,true/false);


image.png

2)注意

  • 常量默認區(qū)分大小寫躁锡。
  • 常量名推薦使用大寫
  • 常量不可以重復定義和修改數(shù)據(jù)。
  • 如果第三個參數(shù)設為true,常量不區(qū)分大小寫置侍。


    image.png

2.常量的獲取

1)使用常量名

直接使用常量名獲取映之。
constant()


image.png

可以獲取特殊的常量拦焚。


image.png

3.常量在內存中的表示形式

常量區(qū)不可以修改。
不可以重新定義或者修改值杠输。


image.png

4.預定義常量

1)get_defined_constants()

image.png

2)魔術常量

它的值會隨著在代碼中的位置的改變而改變赎败。
①_ DIR _
當前腳本所在的目錄

image.png

②_ LINE _
獲取當前行號。
image.png

③_ FILE _
獲取當前腳本的路徑+文件名蠢甲。
image.png

四僵刮、HP 數(shù)據(jù)類型

1.標量數(shù)據(jù)類型

一般指單個數(shù)值。
整形鹦牛,浮點型搞糕,字符串類型,布爾類型曼追。


image.png

2.復合數(shù)據(jù)類型

包括數(shù)組和對象窍仰。
一般包含多個數(shù)值,數(shù)組中會有多個元素礼殊,對象里面會有多個成員屬性和成員方法驹吮。


image.png

3.特殊類型

1)null :

變量未賦值
變量被刪除
變量被賦值為null


image.png

2)resource

資源類型


image.png

image.png

4.整型類型

integer

1)整型的表現(xiàn)形式

  • 半斤八兩, 一斤16兩 晶伦,十六進制碟狞。滿16進1
  • 一小時60分鐘,一分鐘60秒婚陪, 六十進制族沃。滿60進1
  • 計算機底層 二進制,滿2進1
  • 十進制 最常用(0-9)
  • 二進制(0 1) 八進制(0-7) 十六進制(0-9-A-F)
  • 八進制 017 一般以0開頭
  • 十六進制0x1a 一般以0x開頭
  • PHP_INT_MAX 整形最大值


    image.png

    PHP_INT_SIZE:表示整形占據(jù)的字節(jié)數(shù)近忙。4個字節(jié)竭业。


    image.png

2)其他進制轉換為十進制

按權展開
123 = 3100 +2101 + 1102
017(八進制) = 7
80 +181 = 15
0xa8(十六進制) = 8
160 + 10*161 =168

3)二進制、八進制及舍、16進制之間的轉換

一個8進制可以轉換成三個二進制位
一個16進制可以轉換成四個二進制位


image.png

017(八進制) = 001,111(二進制)
010未辆,001,000(二進制) = 210 (八進制)

4)十進制轉換為其他進制

轉換原則:
整數(shù)部分: 除基倒取余 基是指幾進制的幾 10(十進制)->1010(二進制)


image.png

小數(shù)部分:乘基 正取整锯玛。
乘x取整咐柜,直到小數(shù)部分為0,整數(shù)部分自上而下組織 0.25 ->0.01


image.png

5)進制轉換函數(shù)

image.png

decbin(int): 十進制轉二進制
decoct(int): 十進制轉八進制
dechex(int): 十進制轉十六進制
bindec(string): 二進制轉十進制
octdec(string): 八進制轉十進制
hexdec(string): 十六進制轉十進制


image.png

5.浮點型類型

價格:99.9 重量:127.3斤

1)浮點數(shù)的表現(xiàn)形式

常用格式:1.2 2.3 12.5
科學計數(shù)法 1.234e2 eN表示10的N次方


image.png

2)說明及注意事項

浮點數(shù)是近似的攘残,比較兩個浮點數(shù)相等是有問題的


image.png

最多是14位有效數(shù)字 有效數(shù)字指從左邊第一個不是零的數(shù)字算起拙友。


image.png
  • 表示范圍-1.810^308-----1.810^308
  • 其他編程語言,如C JAVA 有單精度和雙精度之分PHP 只實現(xiàn)了雙精度
  • 整數(shù)范圍無法表示的數(shù)字歼郭,可以使用浮點數(shù)遗契。
  • 超出整數(shù)范圍,自動使用浮點數(shù)病曾。
  • 浮點數(shù)占據(jù)的空間大牍蜂。


    image.png

6.布爾類型介紹

true漾根,false 表示事物的真假狀態(tài)。
true 和false 不區(qū)分大小寫 建議小寫
TRUE ,FALSE

1)邏輯判斷為假(false)的情況鲫竞。

整數(shù) 0
浮點數(shù) 0.0
字符串 ‘0’
字符串 ’’ ‘ ’有空格和小數(shù)為true
空數(shù)組
null


image.png

2)isset()

測試變量是否設置
變量未設置或者設置為NULL辐怕,返回false,其他返回true从绘。


image.png

3)empty()

判斷變量是否為空
邏輯判斷為false的變量寄疏,使用empty判斷,返回true僵井。


image.png

4)is_type 系列函數(shù)

is_int/is_integer 判斷是否是整形
is_float/is_double/is_numeric (判斷是否是數(shù)值)
is_string (判斷是否是字符串)
is_boolean/is_bool
is_array
is_null
is_resource


image.png

五陕截、類型判斷與轉換

1.gettype()

得到的結果:boolean,integer,
double (浮點型返回double,不是float)
string
array
object
null
resource


image.png

2.自動轉換

PHP 本身是弱類型語言,支持類型的自動轉換驹沿,數(shù)據(jù)在參與運算時艘策,會根據(jù)實際環(huán)境自動轉換類型蹈胡,參與運算渊季。

1)字符串轉換為數(shù)值類型

遵循原則:

  • 純數(shù)字的字符串轉換位相應的數(shù)字。
  • 以數(shù)字開頭的字符串罚渐,轉換成相應的數(shù)字却汉。
  • 不以數(shù)字開頭的字符串,轉換位0
  • 布爾值true 轉換為1荷并,false轉換為0


    image.png

3.類型強制轉換

轉換原則:與類型自動轉換原則一致合砂。
類型字符串:
int
bool
float
string
array
object

(類型字符串)變量
image.png

4.自動轉換和強制轉換比較

  • 轉換之后,原始數(shù)據(jù)類型不發(fā)生轉換,只是數(shù)據(jù)參與的值發(fā)生了改變。
  • 自動轉換的原則和強制轉換的原則一致界牡。


    image.png

5.settype()

  • 將變量設置為指定的類型
  • settype($var, ‘類型字符串’);
  • 返回值為true,或者false
  • 會改變變量的值坦弟。


    image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市鞍陨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖轻姿,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異逻炊,居然都是意外死亡互亮,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門余素,熙熙樓的掌柜王于貴愁眉苦臉地迎上來豹休,“玉大人,你說我怎么就攤上這事桨吊⊥” “怎么了窑眯?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長医窿。 經(jīng)常有香客問我磅甩,道長,這世上最難降的妖魔是什么姥卢? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任卷要,我火速辦了婚禮,結果婚禮上独榴,老公的妹妹穿的比我還像新娘僧叉。我一直安慰自己,他們只是感情好棺榔,可當我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布瓶堕。 她就那樣靜靜地躺著,像睡著了一般症歇。 火紅的嫁衣襯著肌膚如雪郎笆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天忘晤,我揣著相機與錄音宛蚓,去河邊找鬼。 笑死设塔,一個胖子當著我的面吹牛凄吏,可吹牛的內容都是我干的。 我是一名探鬼主播闰蛔,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼痕钢,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了序六?” 一聲冷哼從身側響起任连,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎难咕,沒想到半個月后课梳,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡余佃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年暮刃,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片爆土。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡椭懊,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情氧猬,我是刑警寧澤背犯,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站柱锹,受9級特大地震影響,放射性物質發(fā)生泄漏瞧毙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一铅忿、第九天 我趴在偏房一處隱蔽的房頂上張望檀训。 院中可真熱鬧峻凫,春花似錦譬胎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽沈条。三九已至,卻和暖如春季稳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背铛漓。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工结笨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留炕吸,地道東北人树肃。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親驾讲。 傳聞我的和親對象是個殘疾皇子吮铭,可洞房花燭夜當晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內容

  • 一、運算符初步 1.介紹 運算符連接操作數(shù)或者表達式。 1)分類 按照操作數(shù)的數(shù)目:單目運算符: 操作數(shù)只有一個...
    致自己_cb38閱讀 113評論 0 0
  • phpize內存用來存儲運行的程序及數(shù)據(jù)。變量名及變量值在內存的不同位置聂使。 案例:a,將變量值的存儲地址存儲在棧區(qū)...
    _fhs閱讀 435評論 0 0
  • 一、運算符初步 1.介紹 運算符連接操作數(shù)或者表達式。 1)分類 按照操作數(shù)的數(shù)目:單目運算符: 操作數(shù)只有一個...
    滿天繁星_28c5閱讀 348評論 0 0
  • 參考文章:1.21個基本的PHP的面試問題2.10個PHP面試問題 Q1.關于弱類型 檢查下面的代碼,結果會輸出什...
    拿破侖蛋糕閱讀 515評論 0 0
  • 順風車運營研發(fā)團隊 李樂 1.從物理機說起 虛擬機也是計算機街佑,設計思想和物理機有很多相似之處森逮; 1.1馮諾依曼體系...
    LNMPR源碼研究閱讀 476評論 0 1