Hello World##
<!DOCTYPE html>
<html>
<body>
<h1>My first PHP page</h1>
<?phpecho "Hello World!";?>
</body>
</html>
在線運(yùn)行
PHP 中的每個(gè)代碼行都必須以分號結(jié)束储狭。分號是一種分隔符淌喻,用于把指令集區(qū)分開來褥伴。
變量##
<?php
$x=22;
$y=33;
$z=$x+$y;
echo $z;
在線運(yùn)行
PHP 變量規(guī)則:
- 變量以 $ 符號開始蟹地,后面跟著變量的名稱
- 變量名必須以字母或者下劃線字符開始
- 變量名只能包含字母數(shù)字字符以及下劃線(A-z挫剑、0-9 和 _ )
- 變量名不能包含空格
- 變量名是區(qū)分大小寫的($y 和 $Y 是兩個(gè)不同的變量)
當(dāng)賦一個(gè)文本值給變量時(shí),在文本值兩側(cè)加上引號.
<?php
$z="Hello world!";
echo $z;
在線運(yùn)行
不必向 PHP 聲明該變量的數(shù)據(jù)類型漓滔。
PHP 會根據(jù)變量的值编饺,自動把變量轉(zhuǎn)換為正確的數(shù)據(jù)類型乖篷。
在強(qiáng)類型的編程語言中响驴,我們必須在使用變量前先聲明(定義)變量的類型和名稱。PHP是一門弱類型語言.
PHP 有四種不同的變量作用域:
- local
- global
- static
- parameter
在所有函數(shù)外部定義的變量撕蔼,擁有全局作用域豁鲤。除了函數(shù)外,全局變量可以被腳本中的任何部分訪問鲸沮,要在一個(gè)函數(shù)中訪問一個(gè)全局變量琳骡,需要使用 global 關(guān)鍵字。
在 PHP 函數(shù)內(nèi)部聲明的變量是局部變量**讼溺,僅能在函數(shù)內(nèi)部訪問:
<?php
$x=5; // 全局變量
function myTest(){
$y=10; // 局部變量
echo "測試函數(shù)內(nèi)變量:";
// print_r($x);這個(gè)$x是打印不出來的,如果想要打印出來,需要使用global.
print_r($y);
}
myTest();
echo "測試函數(shù)外變量:";
print_r($x);
//print_r($y);
在線運(yùn)行
PHP 將所有全局變量存儲在一個(gè)名為 $GLOBALS[index] 的數(shù)組中楣号。index保存變量的名稱。這個(gè)數(shù)組可以在函數(shù)內(nèi)部訪問怒坯,也可以直接用來更新全局變量炫狱。
<?php
$x=55;
$y=10;
function myTest(){
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
myTest();
echo $y;
在線運(yùn)行
當(dāng)一個(gè)函數(shù)完成時(shí),它的所有變量通常都會被刪除剔猿。然而视译,有時(shí)候您希望某個(gè)局部變量不要被刪除。
要做到這一點(diǎn)归敬,請?jiān)谀谝淮温暶髯兞繒r(shí)使用static關(guān)鍵字:
<?php
function myTest(){
static $x=0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
myTest();
PHP echo 和 print 語句##
echo 和 print區(qū)別:
echo - 可以輸出一個(gè)或多個(gè)字符串
print - 只允許輸出一個(gè)字符串酷含,返回值總為 1
提示:echo 輸出的速度比 print 快, echo 沒有返回值汪茧,print有返回值1椅亚。
<?php
echo "<h2>PHP is fun 1!</h2>";
echo "Hello world!<br>";
echo "I'm about to learn PHP!<br>";
echo "This", " string", " was", " made", " with multiple parameters.";
echo "<br>";
echo '*******************************';
print "<h2>PHP is fun 2!</h2>";
print "Hello world!<br>";
print "I'm about to learn PHP!";
//print "This", " string", " was", " made", " with multiple parameters."; 會出錯(cuò)
<?php
$txt1="Learn PHP";
$txt2="w3cschool.cc";
$cars=array("Volvo","BMW","Toyota");
print $txt1;
print "<br>";
print "Study PHP at $txt2";
print "My car is a {$cars[0]}";
php數(shù)據(jù)類型##
- String(字符串),
- Integer(整型),
- Float(浮點(diǎn)型),
- Boolean(布爾型),
- Array(數(shù)組),
- Object(對象),
- NULL(空值)。
設(shè)置常量舱污,使用 define() 函數(shù)呀舔,函數(shù)語法如下:
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
創(chuàng)建一個(gè)區(qū)分大小寫的常量##
常量在定義后,默認(rèn)是全局變量
<?php
echo "區(qū)分大小寫<br>";
define("GREETING", "歡迎訪問 baidu.com");
echo GREETING; // 輸出 "歡迎訪問 baidu.com"
echo '<br>';echo "greeting"; // 輸出 "greeting"
echo "<br>不區(qū)分大小寫<br>";
define("GREETING", "歡迎訪問 baidu.com", true);
echo greeting; // 輸出 "歡迎訪問 baidu.com"
PHP 并置運(yùn)算符##
在 PHP 中慌闭,只有一個(gè)字符串運(yùn)算符别威。
并置運(yùn)算符** (.) **用于把兩個(gè)字符串值連接起來躯舔。
<?php
$txt1="Hello world!";
$txt2="Today a nice day!";
echo $txt1 . " " . $txt2;
PHP strlen() 函數(shù)##
有時(shí)知道字符串值的長度是很有用的。
strlen() 函數(shù)返回字符串的長度(字符數(shù))省古。
<?php
echostrlen("Helloworld!");
?>
PHP strpos() 函數(shù)##
strpos() 函數(shù)用于在字符串內(nèi)查找一個(gè)字符或一段指定的文本粥庄。
如果在字符串中找到匹配,該函數(shù)會返回第一個(gè)匹配的字符位置豺妓。如果未找到匹配惜互,則返回 FALSE。
<?php
echostrpos("Helloworld!","world");
?>
PHP運(yùn)算符##
在 PHP 中琳拭,賦值運(yùn)算符 = 用于給變量賦值训堆。
在 PHP 中,算術(shù)運(yùn)算符 + 用于把值加在一起白嘁。
<?php
$x=10;
$y=6;
echo "<br> + ";
echo ($x + $y); // 輸出16
echo "<br> - ";
echo ($x - $y); // 輸出4
echo "<br> * ";
echo ($x * $y); // 輸出60
echo "<br> / ";
echo ($x / $y); // 輸出1.6666666666667
echo "<br> % ";
echo ($x % $y); // 輸出4
PHP7+ 版本新增整除運(yùn)算符intdiv(),###
<?php
var_dump(intdiv(10, 3));
?>
PHP 邏輯運(yùn)算符
運(yùn)算符 | 名稱 | 描述 | 實(shí)例 |
---|---|---|---|
x and y | 與 | 如果 x 和 y 都為 true坑鱼,則返回 true | x=6y=3(x < 10 and y > 1返回 true |
x or y | 或 | 如果 x 和 y 至少有一個(gè)為 true,則返回 true | x=6y=3(x==6 or y==5) 返回 true |
x xor y | 異或 | 如果 x 和 y 有且僅有一個(gè)為 true絮缅,則返回 true | x=6y=3(x==6 xor y==3) 返回 false |
x && y | 與 | 如果 x 和 y 都為 true鲁沥,則返回 true | x=6y=3(x < 10 && y > 1) 返回 true |
x II y | 或 | 如果 x 和 y 至少有一個(gè)為 true,則返回 true | x=6y=3(x==5 II y==5) 返回 false |
! x | 非 | 如果 x 不為 true耕魄,則返回 true | x=6y=3!(x==y) 返回 true |
PHP 數(shù)組運(yùn)算符##
運(yùn)算符 | 名稱 | 描述 |
---|---|---|
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 數(shù)組合并
var_dump($z);
var_dump($x == $y);
var_dump($x === $y);
var_dump($x != $y);
var_dump($x <> $y);
var_dump($x !== $y);
三元運(yùn)算符##
另一個(gè)條件運(yùn)算符是"?:"(或三元)運(yùn)算符 考润。
(expr1) ? (expr2) : (expr3)
對 expr1 求值為 TRUE 時(shí)的值為 expr2,在 expr1 求值為 FALSE 時(shí)的值為 expr3逞度。自 PHP 5.3 起额划,可以省略三元運(yùn)算符中間那部分。表達(dá)式 expr1 ?: expr3 在 expr1 求值為 TRUE 時(shí)返回 expr1档泽,否則返回 expr3俊戳。
<?php
$test = 'Today is a nice day!';
//$test = '';
// 普通寫法
$username = isset($test) ? $test : 'nobody1';
echo $username, PHP_EOL;
//PHP_EOL 換行
// PHP 5.3+ 版本寫法
$username = $test ?: 'nobody2';
echo $username, PHP_EOL;
在線運(yùn)行
在 PHP7+ 版本多了一個(gè) NULL 合并運(yùn)算符,
<?php
// 如果 $_GET['user'] 不存在返回 'nobody'馆匿,否則返回 $_GET['user'] 的值
$username = $_GET['user'] ?? 'nobody';// 類似的三元運(yùn)算符
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
?>
if else##
- if 語句 - 在條件成立時(shí)執(zhí)行代碼
- if...else 語句 - 在條件成立時(shí)執(zhí)行一塊代碼抑胎,條件不成立時(shí)執(zhí)行另一塊代碼
- if...else if....else 語句 - 在若干條件之一成立時(shí)執(zhí)行一個(gè)代碼塊
- switch 語句 - 在若干條件之一成立時(shí)執(zhí)行一個(gè)代碼塊
switch##
<?php
/**
* Created by Zoe.
* User: Administrator
* Date: 2017/1/23
* Time: 9:10
*/
$favcolor="red";
switch ($favcolor)
{
case "red":
echo "你喜歡的顏色是紅色!";
break;
case "blue":
echo "你喜歡的顏色是藍(lán)色!";
break;
case "green":
echo "你喜歡的顏色是綠色!";
break;
default:
echo "你喜歡的顏色不是 紅, 藍(lán), 或綠色!";
}