日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP 入门 - 1.语言基础

發布時間:2024/1/17 php 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP 入门 - 1.语言基础 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 前言
    • 大小寫
    • 注釋
    • 數據類型
      • 變量的變量
      • 變量的引用
      • 變量的作用域
        • 方法一:使用 `global` 關鍵字
        • 方法二:使用 PHP 中的 `$GLOBALS` 數組
      • 靜態變量 ( `static` )
      • 隱式轉換
      • 除法操作符
      • 自動遞增操作符
    • 垃圾收集
    • 操作符
      • 錯誤屏蔽( `@` )
      • 執行( ` )
      • 類型( `instanceof` )
    • 流程控制語句
      • 新的寫法
      • break 與 continue
      • declare
        • ticks
        • encoding
      • exit 和 return
    • 包含代碼
    • 在 Web 頁面中嵌套 PHP
      • 標準( XML )風格
      • SGML 風格

前言

最近在系統的學習 PHP ,參考的資料是《PHP編程》+ 官方文檔(如果你有好的學習資料,歡迎推薦給我)。雖然這本《PHP編程》是基于 PHP5 的,但我筆記里的代碼,全部在 PHP 7.2 的環境里測試過,是能夠運行的。

大小寫

類、函數、內置的結構以及關鍵字等是不區分大小寫的。(PS:變量區分大小寫)

注釋

PHP 有多種注釋方式,這些方式都是借鑒現有的語言(C、C++、UNIX shell)

其中 shell 風格的注釋使用 # 來標識。

數據類型

PHP 提供八種類型的值或稱為數據類型。

  • 四種是標量型(單值)的:整形、浮點數(實數)、字符串和布爾型。

  • 兩種復合類型(集合):數組和對象。

  • 剩下的兩種是特殊類型:資源和 NULL 。


  • 十六進制以 0x 開頭,字母是可以大寫或小寫,但通常是大寫

  • 八進制以 0 開頭。

  • 二進制以 0b 開頭。

  • 變量在雙引號中會被解析(解釋),而在單引號中,他們不會被解析:

    $name = "Guido"; echo "Hi, $name\n"; // Hi, Guido echo 'Hi, $name'; // Hi, $name
  • 在 PHP 中,以下值的計算結果為 false:

    • 關鍵字 false
    • 整形 0
    • 浮點數 0.0
    • 空字符串 "" 和字符串 "0"
    • 空數組
    • 空對象
    • NULL 值
  • 定義一個類,就可以用關鍵字 new 創建這個類的任意數量的對象,類的屬性和方法可以通過 -> 結構訪問。

變量的變量

$foo = "bar"; $$foo = "baz"; //變量bar的值為

變量的引用

在PHP中,引用就是如何創建變量的別名。可以說兩個變量儲存了相同的值。

銷毀其中一個變量的值,不會影響另一個變量的值。

$bigLongVariableName = "PHP"; $short =& $bigLongVariableName; $bigLongVariableName .= " rocks!"; print "\$short is $short\n"; // $short is PHP rocks! print "Long is $bigLongVariableName\n"; // Long is PHP rocks!$short = "Programing $short"; print "\$short is $short\n"; // $short is Programming PHP rocks! print "Long is $bigLongVariableName\n"; // Long is Programming PHP rocks!$white = "snow"; $black =& $white; unset($white); print $black; //snow

這里的換行符可能在瀏覽器中顯示不出來,可以參考這篇:如何在 PHP 中換行,解決問題。

變量的作用域

在 PHP 中,只有函數可以提供局部作用域。與其他語言不同,在 PHP 中不能創建一個作用域是循環、條件分支或其他塊類型的局部變量。也就是說函數外聲明的變量就是全局變量,他們可以在程序的任何部分被訪問。不過,默認情況下全局變量在內部函數中是不可訪問的。

為了讓函數訪問全局變量共有兩個方法:

方法一:使用 global 關鍵字

function updateCounter() {global $counter;$counterr++; }$counter = 10; updateCounter(); echo $counter; // 11

方法二:使用 PHP 中的 $GLOBALS 數組

function updateCounter() {$GLOBALS[counter]++: }$counter = 10; updateCounter(); echo $counter; // 11

靜態變量 ( static )

靜態變量在一個函數中被多次調用時,其值不會丟失,但此變量僅在函數內時可見的。

function updateCounter() {static $counter = 0;$counter++;echo "Static counter is now {$counter}\n"; }$counter = 10; updateCounter(); // Static counter is now 1 updateCounter(); // Static counter is now 2 // 不會再被付初始值 echo "Global couter is {$couter}\n"; // Global counter is 10

隱式轉換

當二元算數操作符是兩個不同的類型時 PHP 會根據需要自動轉換,其中的階梯為:字符串 -> 整數 -> 浮點數。

假定一個字符串以一個整數或浮點數開始。如果未在字符串的開始處發現任何數字,該字符串的數值為0。如果字符串包含一個點( . )或大寫/小寫的 e ,對該字符串的求值則生成一個浮點數。例如:

"9 Lives" - 1; //8 (整數) "3.14 Pies" * 2; //6.28 (浮點數) "9 Lives." -1; //8 (整數) "1E3 Points of Light" + 1 // 1001 (浮點型)

除法操作符

如果兩個數能整除,則為整數( 4/2 ),否則為浮點數( 1/2 )。

自動遞增操作符

在 PHP 中,對字符串中使用自動遞增,會相應得到下一個字母。(我測試了一下,只對遞增操作符有效)

$a = "z"; echo ++$a; // "aa"

垃圾收集

PHP 使用引用計數寫時復制來管理內存。

  • 寫時復制:保證了變量間復制值不浪費內存。
  • 引用計數:保證了不在需要時將內存釋放給操作系統。

操作符

錯誤屏蔽( @ )

一些操作符或者函數可能產生錯誤信息,錯誤屏蔽操作符用來阻止這些信息的產生。

執行( ` )

反引號操作符可以把反引號之間的字符串當作shell命令執行,并返回輸出結果:

$listing = `ls`; echo $listing; // 輸出文件目錄

類型( instanceof )

Instanceof 操作符用來測試一個變量是否為給定類的實例化對象,或者是一個接口的實現:

$a = new Foo; $isAFoo = $a instanceof Foo; // ture $isABar = $a instanceof Bar; // false

流程控制語句

新的寫法

PHP 支持很多傳統編程結構,用來控制程序執行的流程。與傳統的用一對大括號包括的寫法不同, PHP 還提供了另外一種語法。使用一個冒號(:)作為流程控制語句的結尾,并且以特定的關鍵字作為流程控制語句塊的結尾。

if ($user_balidated){echo "Welocome!";$greeted = 1; }else{echo "Access Forbidden!";exit; } //等價于 if ($user_balidated): // 這里不一樣echo "Welcome!";$greeted = 1; else: // //這里不一樣echo "Access Forbidden!";exit; endif; // 這里不一樣

這里僅展示 if 的寫法,其他語句與上面類似。

break 與 continue

PHP 中 break 和 continue 分別代表提前退出一個循環和跳到循環條件的下一次判斷。不同的是,可以在關鍵詞后面放一個數字,表示 break 要中斷多少層循環。以 break 為例:

$i = 0; $j = 0; while($i < 10){while($j < 10){if ($j == 5){break 2;}++$j;}++$i; } echo "{$i},{$j}"; // 0,5

和 break 類似,continue 也可以退出多個層次的循環。

declare

declare 語句允許指定的一段代碼執行指令。目前只有兩種 declare 的方式:ticks 和 encoding 指令

ticks

Tick(時間周期)是一個 declare 代碼段中解釋器每執行 N 條可計時的低級語句就會發生的事件。不是所有語句都可以計時。通常條件表達式和參數表達式都不可計時。

在每個 tick 中出現的事件是由 register_tick_function() 來指定的。注意每個 tick 中可以出現多個事件。

declare(ticks=1); // 每執行一條語句時,tick_handler()就會被執行// A function called on each tick event function tick_handler() {echo "tick_handler() called\n <br/>"; }register_tick_function('tick_handler');$a = 1;if ($a > 0) {$a += 2;print($a); }

encoding

使用 encoding 指令指定 PHP 腳本輸出編碼的格式

declare(encoding = "UTF-8");

PS : 這種語句在編譯時要加上 --enable-zend-multibyte 的選項。否則沒有效果。

exit 和 return

腳本執行到 exit 語句時,就會停止執行。

return 語句一般用于某個函數退出返回,或者腳本停止執行。

die() 函數時 exit 語句的一個別名。

包含代碼

PHP 提供兩種方式實現從另外的模塊加載代碼和 HTML 內容:require 和 include 。

  • require 加載一個不存在的文件時,會產生一個致命的錯誤,進而腳本停止運行
  • include 加載一個不存在的文件時,會產生一個警告哦,不停止腳本的執行
  • 如果你多次引用同一個文件,但是你只想加載一次,可以使用 include_once 和 require_once 。

在 Web 頁面中嵌套 PHP

標準( XML )風格

<?php echo "Hello, world"; ?>

SGML 風格

<? echo "Hello, world"; ?>

這種形式被稱為短標簽,默認時關閉的。你可以在編譯時增加 -enable-short-tags 選項,或者在 PHP 配置文件中打開 short_open_tag 。

感謝你看到了這里。如果文章有錯誤,請評論指正,謝謝!

總結

以上是生活随笔為你收集整理的PHP 入门 - 1.语言基础的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。