PHP初識

什麼是 PHP?

  • PHP 是 “PHP Hypertext Preprocessor” 的首字母縮略詞
  • PHP 是一種被廣泛使用的開源腳本語言
  • PHP 腳本在服務器上執行
  • PHP 沒有成本,可供免費下載和使用

    其他的概念就不閒扯淡了…


安裝配置

http://php.net/manual/zh/install.php 官網的安裝說明


語法

<!DOCTYPE html>
<html>
<body>

<h1>我的第一張 PHP 頁面</h1>

// 這是單行註釋
# 這也是單行註釋
/* 多行註釋 */

<?php
// 此處是 PHP 代碼
// 以分號結尾(;)
echo "Hello World!";
// 關鍵字大小寫不敏感,但是變量還是敏感的
ECHO "Hello World!<br>";

$txt="Hello world!";
$x=5;
$y=10.5;
$z=$x+$y;
echo $z;

?>

</body>
</html>

PHP 變量規則:

  • 變量以 $ 符號開頭,其後是變量的名稱
  • 變量名稱必須以字母或下劃線開頭
  • 變量名稱不能以數字開頭
  • 變量名稱只能包含字母數字字符和下劃線(A-z、0-9 以及 _)
  • 變量名稱對大小寫敏感($y 與 $Y 是兩個不同的變量)

PHP 根據它的值,自動把變量轉換爲正確的數據類型。
在諸如 C 和 C++ 以及 Java 之類的語言中,程序員必須在使用變量之前聲明它的名稱和類型。


PHP 變量作用域

  • local(局部)
  • global(全局)
  • static(靜態) 這個關鍵字的用途很多語言都通用

Local 和 Global 作用域
函數之外聲明的變量擁有 Global 作用域,只能在函數以外進行訪問。
函數內部聲明的變量擁有 LOCAL 作用域,只能在函數內部進行訪問。

<?php
$x=5; // 全局作用域

function myTest() {
  $y=10; // 局部作用域
  echo "<p>測試函數內部的變量:</p>";
  echo "變量 x 是:$x";
  echo "<br>";
  echo "變量 y 是:$y";
} 

myTest();

echo "<p>測試函數之外的變量:</p>";
echo "變量 x 是:$x";
echo "<br>";
echo "變量 y 是:$y";
?>

PHP global 關鍵詞

global 關鍵詞用於訪問函數內的全局變量。

<?php
$x=5;
$y=10;

function myTest() {
  global $x,$y;
  $y=$x+$y;
}

myTest();
echo $y; // 輸出 15
?>

上面的例子可以這樣重寫:爲什麼呢?PHP 同時在名爲 $GLOBALS[index] 的數組中存儲了所有的全局變量。下標存有變量名。這個數組在函數內也可以訪問,並能夠用於直接更新全局變量。

<?php
$x=5;
$y=10;

function myTest() {
  $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
} 

myTest();
echo $y; // 輸出 15
?>

PHP echo 和 print 語句

echo 和 print 之間的差異:

  • echo - 能夠輸出一個以上的字符串
  • print - 只能輸出一個字符串,並始終返回 1

PHP 數據類型

字符串(“String”)、整數、浮點數、邏輯(true/false)、數組(array(***))、對象(class 關鍵詞)、NULL(變量無值)。


PHP 字符串函數

  • trlen() 函數返回字符串的長度
  • strpos() 函數用於檢索字符串內指定的字符或文本
  • PHP String 參考手冊

PHP 常量

設置常量,請使用 define() 函數 - 它使用三個參數:
首個參數定義常量的名稱
第二個參數定義常量的值
可選的第三個參數規定常量名是否對大小寫敏感。默認是 false。

<?php
define("GREETING", "Welcome to http://blog.csdn.net/w627947015!");
echo GREETING;
?>

PHP 運算符

  • PHP 算數運算符
<?php 
$x=10; 
$y=6;
echo ($x + $y); // 輸出 16
echo ($x - $y); // 輸出 4
echo ($x * $y); // 輸出 60
echo ($x / $y); // 輸出 1.6666666666667
echo ($x % $y); // 輸出 4
?>
  • PHP 賦值運算符
<?php 
$x=10; 
echo $x; // 輸出 10

$y=20; 
$y += 100;
echo $y; // 輸出 120

$z=50;
$z -= 25;
echo $z; // 輸出 25

$i=5;
$i *= 6;
echo $i; // 輸出 30

$j=10;
$j /= 5;
echo $j; // 輸出 2

$k=15;
$k %= 4;
echo $k; // 輸出 3
?>
  • PHP 字符串運算符
    .串接
    .=串接賦值
<?php
$a = "Hello";
$b = $a . " world!";
echo $b; // 輸出 Hello world!

$x="Hello";
$x .= " world!";
echo $x; // 輸出 Hello world!
?>
  • PHP 遞增/遞減運算符
運算符 名稱 描述
++$x 前遞增 $x 加一遞增,然後返回 $x
$x++ 後遞增 返回 $x,然後 $x 加一遞增
- -$x 前遞減 $x 減一遞減,然後返回 $x
$x- - 後遞減 返回 $x,然後 $x 減一遞減
<?php
$x=10; 
echo ++$x; // 輸出 11

$y=10; 
echo $y++; // 輸出 10

$z=5;
echo --$z; // 輸出 4

$i=5;
echo $i--; // 輸出 5
?>
  • PHP 比較運算符
<?php
$x=100; 
$y="100";

var_dump($x == $y);
echo "<br>";
var_dump($x === $y);
echo "<br>";
var_dump($x != $y);
echo "<br>";
var_dump($x !== $y);
echo "<br>";

$a=50;
$b=90;

var_dump($a > $b);
echo "<br>";
var_dump($a < $b);
?>
  • PHP 邏輯運算符
運算符 名稱 例子 結果
and $x and $y 如果 $x 和 $y 都爲 true,則返回 true。
or $x or $y 如果 $x 和 $y 至少有一個爲 true,則返回 true。
xor 異或 $x xor $y 如果 $x 和 $y 有且僅有一個爲 true,則返回 true。
&& $x && $y 如果 $x 和 $y 都爲 true,則返回 true。
|| $x || $y 如果 $x 和 $y 至少有一個爲 true,則返回 true。
! !$x 如果 $x 不爲 true,則返回 true。
  • PHP 數組運算符
運算符 名稱 例子 結果
+ 聯合 $x + $y $x 和 $y 的聯合(但不覆蓋重複的鍵)
== 相等 $x == $y 如果 $x 和 $y 擁有相同的鍵/值對,則返回 true。
=== 全等 $x === $y 如果 $x 和 $y 擁有相同的鍵/值對,且順序相同類型相同,則返回 true。
!= 不相等 $x != $y 如果 $x 不等於 $y,則返回 true。
<> 不相等 $x <> $y 如果 $x 不等於 $y,則返回 true。
!== 不全等 $x !== $y 如果 $x 與 $y 完全不同,則返回 true。
<?php
$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);
?>

PHP if…else…elseif 語句 / Switch 語句

if (條件) {
 當條件爲 true 時執行的代碼;
}

switch (expression)
{
case label1:
  ...;
  break;  
default:
 ...
}

PHP while 循環 / for 循環

while (條件爲真) {
  要執行的代碼;
}

do {
  要執行的代碼;
} while (條件爲真);

for (init counter; test counter; increment counter) {
  code to be executed;
}

foreach ($array as $value) {
  code to be executed;
}

PHP 函數

function functionName() {
  被執行的代碼;
}
  • 函數參數
<?php
function familyName($fname) {
  echo "$fname Zhang.<br>";
}

familyName("YIYE");
?>
  • PHP 默認參數值
<?php
function setHeight($minheight=50) {
  echo "The height is : $minheight <br>";
}

setHeight(350);
setHeight(); // 將使用默認值 50
?>
  • PHP 函數 - 返回值
<?php
function sum($x,$y) {
  $z=$x+$y;
  return $z;
}

echo "5 + 10 = " . sum(5,10) . "<br>";
echo "2 + 4 = " . sum(2,4);
?>

PHP 數組

<?php
$cars=array("Volvo","BMW","SAAB");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>

在 PHP 中,有三種數組類型:

  1. 索引數組 - 帶有數字索引的數組

    • 索引是自動分配的(索引從 0 開始)
    • 獲得數組的長度 - count() 函數
    • 遍歷索引數組
    <?php
    $cars=array("Volvo","BMW","SAAB");
    $arrlength=count($cars);
    
    for($x=0;$x<$arrlength;$x++) {
      echo $cars[$x];
      echo "<br>";
    }
    ?>
  2. 關聯數組 - 帶有指定鍵的數組

    有兩種創建關聯數組的方法:
    $age=array(“Peter”=>”35”,”Ben”=>”37”,”Joe”=>”43”);
    或者:
    $age[‘Peter’]=”35”;
    $age[‘Ben’]=”37”;
    $age[‘Joe’]=”43”;

    使用:

    <?php
    $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
    echo "Peter is " . $age['Peter'] . " years old.";
    ?>

    遍歷關聯數組

    <?php
    $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
    
    foreach($age as $x=>$x_value) {
      echo "Key=" . $x . ", Value=" . $x_value;
      echo "<br>";
    }
    ?>
  3. 多維數組 - 包含一個或多個數組的數組
    稍微複雜了點,相對也用的較少
    PHP 數組參考手冊


PHP 數組排序

PHP - 數組的排序函數
在本節中,我們將學習如下 PHP 數組排序函數:
sort() - 以升序對數組排序

<?php
$cars=array("Volvo","BMW","SAAB");
sort($cars);
?>

rsort() - 以降序對數組排序

<?php
$cars=array("Volvo","BMW","SAAB");
rsort($cars);
?>

asort() - 根據值,以升序對關聯數組進行排序

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
asort($age);
?>

ksort() - 根據鍵,以升序對關聯數組進行排序

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
ksort($age);
?>

arsort() - 根據值,以降序對關聯數組進行排序

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
arsort($age);
?>

krsort() - 根據鍵,以降序對關聯數組進行排序

<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
krsort($age);
?>

PHP 全局變量 - 超全局變量

超全局變量 在 PHP 4.1.0 中引入,是在全部作用域中始終可用的內置變量。
PHP 全局變量 - 超全局變量
PHP 中的許多預定義變量都是“超全局的”,這意味着它們在一個腳本的全部作用域中都可用。在函數或方法中無需執行 global $variable; 就可以訪問它們。
這些超全局變量是:
\$GLOBALS
\$_SERVER
\$_REQUEST
\$_POST
\$_GET
\$_FILES
\$_ENV
\$_COOKIE
\$_SESSION

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章