PHP知識點總結2

來源:互聯網
上載者:User

標籤:控制語句   對象   測試   大小   either   files   [1]   不同   class關鍵字   

PHP5資料類型

String(字串), Integer(整型), Float(浮點型), Boolean(布爾型), Array(數組), Object(對象), NULL(空值)。

字串 
你可以將任何文本放在單引號和雙引號中:

<?php $x = "Hello world!";echo $x;echo "<br>"; $x = ‘Hello world!‘; //單引號 包括字串字面量 雙引號包含的字串 可包含變數echo $x;?>

整型 
在以下執行個體中我們將測試不同的數字。 PHP var_dump()函數返回變數的資料類型和值:

?php $x = 5985;var_dump($x);echo "<br>"; $x = -345; // 負數 var_dump($x);echo "<br>"; $x = 0x8C; // 十六進位數var_dump($x);echo "<br>";$x = 047; // 八位元var_dump($x);?>

浮點型

<?php $x = 10.365;var_dump($x);echo "<br>"; $x = 2.4e3;var_dump($x);echo "<br>"; $x = 8E-5;var_dump($x);?>

布爾型

布爾型可以是 TRUE 或 FALSE。

數組

數組可以在一個變數中儲存多個值

<?php $cars=array("Volvo","BMW","Toyota");var_dump($cars);?>

對象

在 PHP 中,對象必須聲明。

首先,你必須使用class關鍵字聲明類對象。類是可以包含屬性和方法的結構。
然後我們在類中定義資料類型,然後在執行個體化的類中使用資料類型:

<?phpclass Car{    var $color;    function Car($color="green") {      $this->color = $color;    }    function what_color() {      return $this->color;    }}function print_vars($obj) {   foreach (get_object_vars($obj) as $prop => $val) {     echo "\t$prop = $val\n";   }}// instantiate one object$herbie = new Car("white");// show herbie propertiesecho "\herbie: Properties\n";print_vars($herbie);?>  

NULL 值 
NULL 值表示變數沒有值。NULL 是資料類型為 NULL 的值。

<?php$x="Hello world!";$x=null;var_dump($x);?>

常量

常量是一個簡單值的標識符。該值在指令碼中不能改變。 (常量名不需要加 $ 修飾符)。

注意: 常量在整個指令碼中都可以使用。

設定常量,使用 define() 函數,函數文法如下:

define(string constant_name, mixed value, case_sensitive = true)
該函數有三個參數:

  • constant_name:必選參數,常量名稱,即標誌符。
  • value:必選參數,常量的值。
  • case_sensitive:選擇性參數,指定是否大小寫敏感,設定為 true 表示不敏感。

以下執行個體我們建立一個 區分大小寫常量, 常量值為 "Welcome to W3CSchool.cc!":

<?phpdefine("GREETING", "Welcome to W3CSchool.cc!");echo GREETING;?>

字串函數和字串串連

<?php$txt1="Hello world!";$txt2="What a nice day!";echo $txt1 . " " . $txt2; // 字串串連運算子 .echo strlen("Hello world!"); //擷取字串長度echo strpos("Hello world!","world"); //擷取子串位置//字串中第一個字元的位置是 0?>
運算子
<?php//其他運算子略..//邏輯運算子 ! && || and or xor//數組運算子 合并: + 比較:== != === !==$x = array("a" => "red", "b" => "green"); $y = array("c" => "blue", "d" => "yellow"); $z = $x + $y; // $x 和 $y 數組合并var_dump($z);var_dump($x == $y);var_dump($x === $y);var_dump($x != $y);var_dump($x <> $y);var_dump($x !== $y);?>
流程式控制制語句 同js
<?php$t=date("H");if ($t<"20"){echo "Have a good day!";}$t=date("H");if ($t<"20"){echo "Have a good day!";}else{echo "Have a good night!";}$t=date("H");if ($t<"10"){echo "Have a good morning!";}else if ($t<"20"){echo "Have a good day!";}else{echo "Have a good night!";}$favcolor="red";switch ($favcolor){case "red":echo "Your favorite color is red!";break;case "blue":echo "Your favorite color is blue!";break;case "green":echo "Your favorite color is green!";break;default:echo "Your favorite color is neither red, blue, or green!";}//迴圈$i=1;while($i<=5){echo "The number is " . $i . "<br>";$i++;}$i=1;do{$i++;echo "The number is " . $i . "<br>";}while ($i<=5);for ($i=1; $i<=5; $i++){echo "The number is " . $i . "<br>";}$x=array("one","two","three");foreach ($x as $value){echo $value . "<br>";}?>
數組
<?php$cars=array("Volvo","BMW","Toyota"); //數組定義 數值數組echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . "."; //訪問數組元素//數組長度count()$cars=array("Volvo","BMW","Toyota");echo count($cars); //count() 函數用於返回數組的長度//遍曆數值數組$cars=array("Volvo","BMW","Toyota");$arrlength=count($cars);for($x=0;$x<$arrlength;$x++){echo $cars[$x];echo "<br>";}$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");//定義關聯陣列echo "Peter is " . $age[‘Peter‘] . " years old.";//遍曆關聯陣列$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");foreach($age as $x=>$x_value){echo "Key=" . $x . ", Value=" . $x_value;echo "<br>";}?>
數組排序

PHP - 數組排序函數

  • sort() - 對數組進行升序排列
  • rsort() - 對數組進行降序排列
  • asort() - 根據關聯陣列的值,對數組進行升序排列
  • ksort() - 根據關聯陣列的鍵,對數組進行升序排列
  • arsort() - 根據關聯陣列的值,對數組進行降序排列
  • krsort() - 根據關聯陣列的鍵,對數組進行降序排列
//sort()$cars=array("Volvo","BMW","Toyota");sort($cars);$clength=count($cars);for($x=0;$x<$clength;$x++){echo $cars[$x];echo "<br>";}//rsort()   $cars=array("Volvo","BMW","Toyota");rsort($cars);   //asort() arsort() 關聯陣列排序 value$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");asort($age);arsort($age);//ksort() krsort() 關聯陣列排序 key$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");ksort($age);krsort($age);?>
超級全域變數

PHP中預定義了幾個超級全域變數(superglobals) ,這意味著它們在一個指令碼的全部範圍中都可用。

  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_COOKIE
  • $_FILES
  • $_ENV
  • $_SESSION

$GLOBAL 是一個包含了全部變數的全域群組合數組。變數的名字就是數組的鍵。

<?php $x = 75; $y = 25; function addition() { $GLOBALS[‘z‘] = $GLOBALS[‘x‘] + $GLOBALS[‘y‘]; } addition(); echo $z; ?>

$_SERVER 是一個包含了諸如頭資訊(header)、路徑(path)、以及指令碼位置(script locations)等等資訊的數組。這個數組中的項目由 Web 服務器建立。不能保證每個伺服器都提供全部項目;

<?php echo $_SERVER[‘PHP_SELF‘]; // /try/demo_source/demo_global_server.phpecho "<br>";echo $_SERVER[‘SERVER_NAME‘]; // w3cschool.cc echo "<br>";echo $_SERVER[‘HTTP_HOST‘]; // www.w3cschool.ccecho "<br>";echo $_SERVER[‘HTTP_REFERER‘]; //來由echo "<br>";echo $_SERVER[‘HTTP_USER_AGENT‘]; //瀏覽器echo "<br>";echo $_SERVER[‘SCRIPT_NAME‘]; // /try/demo_source/demo_global_server.php//另外$_SERVER對象還包括 SERVER_ADDR, SERVER_PROTOCOL ,REQUEST_METHOD..等屬性?>

$_REQUEST 用於收集HTML表單提交的資料。

<html><body><form method="post" action="<?php echo $_SERVER[‘PHP_SELF‘];?>">Name: <input type="text" name="fname"><input type="submit"></form><?php $name = $_REQUEST[‘fname‘]; echo $name; ?></body></html>

$_POST 被廣泛應用於收集表單資料,在HTML form標籤的指定該屬性:"method="post"

<html><body><!--頁面post給自己--><form method="post" action="<?php echo $_SERVER[‘PHP_SELF‘];?>">Name: <input type="text" name="fname"><input type="submit"></form><?php $name = $_POST[‘fname‘]; echo $name; ?></body></html>

$_GET 同樣被廣泛應用於收集表單資料,在HTML form標籤的指定該屬性:"method="get"。

$_GET 也可以收集URL中發送的資料。

<html><body><a href="test_get.php?subject=PHP&web=w3cschool.cc">Test $GET</a></body></html>//test_get.php<html><body><?php echo "Study " . $_GET[‘subject‘] . " at " . $_GET[‘web‘];?></body></html>

PHP知識點總結2

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.