為了拓展知識(shí)面,學(xué)習(xí)了一些PHP的相關(guān)知識(shí),匯總、分享。
一、PHP echo 和 print 語句
1、echo 和 print 之間的差異:
echo - 能夠輸出一個(gè)以上的字符串
print - 只能輸出一個(gè)字符串,并始終返回 1
提示:echo 比 print 稍快,因?yàn)樗环祷厝魏沃怠?2、echo 是一個(gè)語言結(jié)構(gòu),有無括號(hào)均可使用:echo 或 echo()。
二、字符串
1、字符串可以是引號(hào)內(nèi)的任何文本。您可以使用單引號(hào)或雙引號(hào):
例如:$x = "Hello world!"; $x = 'Hello world!'; 都可以
三、
1、整數(shù)可以用三種格式規(guī)定:十進(jìn)制、十六進(jìn)制(前綴是 0x)或八進(jìn)制(前綴是 0)
2、浮點(diǎn)數(shù)是有小數(shù)點(diǎn)或指數(shù)形式的數(shù)字。
3、邏輯是 true 或 false。
四、
1、數(shù)組在一個(gè)變量中存儲(chǔ)多個(gè)值。 var_dump() 會(huì)返回變量的數(shù)據(jù)類型和值:
例如:<?php
$cars=array("Volvo","BMW","SAAB");
var_dump($cars);
?>
輸出結(jié)果:array(3) { [0]=> string(5) "Volvo" [1]=> string(3) "BMW" [2]=> string(4) "SAAB" }
五、PHP對(duì)象
1、對(duì)象是存儲(chǔ)數(shù)據(jù)和有關(guān)如何處理數(shù)據(jù)的信息的數(shù)據(jù)類型。
在 PHP 中,必須明確地聲明對(duì)象。
首先我們必須聲明對(duì)象的類。對(duì)此,我們使用 class 關(guān)鍵詞。類是包含屬性和方法的結(jié)構(gòu)。
然后我們?cè)趯?duì)象類中定義數(shù)據(jù)類型,然后在該類的實(shí)例中使用此數(shù)據(jù)類型:
輸入:
class 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 properties
echo "\herbie: Properties\n";
print_vars($herbie);
?>
輸出:\herbie: Properties color = white
PHP --- 字符串函數(shù)
1、strlen() 函數(shù)返回字符串的長度,以字符計(jì)。
<?php
echo strlen("Hello world!");
?>
輸出:12
提示:strlen() 常用于循環(huán)和其他函數(shù),來確定字符串何時(shí)結(jié)束。
例如,在循環(huán)中,我們也許需要在字符串的最后一個(gè)字符之后停止循環(huán)。
2、strpos() 函數(shù)用于檢索字符串內(nèi)指定的字符或文本。
<?php
echo strpos("Hello world!","world");
?>
輸出:6
提示:上例中字符串 "world" 的位置是 6。是 6(而不是 7)的理由是,字符串中首字符的位置是 0 而不是 1。
PHP 常量
常量是單個(gè)值的標(biāo)識(shí)符(名稱)。在腳本中無法改變?cè)撝怠?有效的常量名以字符或下劃線開頭(常量名稱前面沒有 $ 符號(hào))。
注釋:與變量不同,常量貫穿整個(gè)腳本是自動(dòng)全局的。
一、設(shè)置 PHP 常量
如需設(shè)置常量,請(qǐng)使用 define() 函數(shù) - 它使用三個(gè)參數(shù):
1、首個(gè)參數(shù)定義常量的名稱
2、第二個(gè)參數(shù)定義常量的值
3、可選的第三個(gè)參數(shù)規(guī)定常量名是否對(duì)大小寫敏感。默認(rèn)是 false。
下例創(chuàng)建了一個(gè)對(duì)大小寫敏感的常量,值為 "Welcome to W3School.com.cn!":
例一:
<?php
define("GREETING", "Welcome to W3School.com.cn!");
echo GREETING;
echo "<br>"; //用來換行
echo greeting;
?>
輸出:Welcome to W3School.com.cn!
greeting
例二:
<?php
define("GREETING", "Welcome to W3School.com.cn!", true);
echo GREETING;
echo "<br>"; //用來換行
echo greeting;
?>
輸出:Welcome to W3School.com.cn!
Welcome to W3School.com.cn!
PHP--- 條件語句
在 PHP 中,我們可以使用以下條件語句:
- if 語句 - 如果指定條件為真,則執(zhí)行代碼
- if...else 語句 - 如果條件為 true,則執(zhí)行代碼;如果條件為 false,則執(zhí)行另一端代碼
- if...elseif....else 語句 - 選擇若干段代碼塊之一來執(zhí)行
- switch 語句 - 語句多個(gè)代碼塊之一來執(zhí)行
PHP --- 循環(huán)語句
在 PHP 中,我們有以下循環(huán)語句:
- while - 只要指定條件為真,則循環(huán)代碼塊
<?php
$x=1;
while($x<=5) {
echo "這個(gè)數(shù)字是:$x <br>";
$x++;
}
?>
- do...while - 先執(zhí)行一次代碼塊,然后只要指定條件為真則重復(fù)循環(huán)
- for - 循環(huán)代碼塊指定次數(shù)
<?php
for ($x=0; $x<=10; $x++) {
echo "數(shù)字是:$x <br>";
}
?>
- foreach - 遍歷數(shù)組中的每個(gè)元素并循環(huán)代碼塊
<?php
$colors = array("red","green","blue","yellow");
foreach ($colors as $value) {
echo "$value <br>";
}
?>
PHP --- 函數(shù)
1、用戶定義的函數(shù)聲明以關(guān)單 "function" 開頭:
<?php
function writeMsg() { //函數(shù)的定義
echo "Hello world!";
}
writeMsg(); //函數(shù)的調(diào)用
?>
注釋:函數(shù)名能夠以字母或下劃線開頭(而非數(shù)字)。
注釋:函數(shù)名對(duì)大小寫不敏感。
提示:函數(shù)名應(yīng)該能夠反映函數(shù)所執(zhí)行的任務(wù)。
2、帶參函數(shù)
例一:單個(gè)參數(shù)
<?php
function familyName($fname) {
echo "$fname Zhang.<br>";
}
familyName("Li");
familyName("Hong");
?>
打印:Li Zhang.
Hong Zhang.
例二:多個(gè)參數(shù)
<?php
function familyName($fname,$year) {
echo "$fname Zhang. Born in $year <br>";
}
familyName("Li","1975");
familyName("Hong","1978");
?>
打印:Li Zhang. Born in 1975
Hong Zhang. Born in 1978
例三:帶默認(rèn)值
<?php
function setHeight($minheight=50) {
echo "高度是:$minheight <br>";
}
setHeight(350);
setHeight(); //未輸入?yún)?shù),使用默認(rèn)參數(shù)
?>
輸出:高度是:350
高度是:50
例四:帶返回值,使用 return 語句:
<?php
function sum($x,$y) {
$z=$x+$y;
return $z;
}
echo "5 + 10 = " . sum(5,10) . "<br>";
echo "7 + 13 = " . sum(7,13) .
?>
PHP --- 數(shù)組
在 PHP 中, array() 函數(shù)用于創(chuàng)建數(shù)組:
在 PHP 中,有三種數(shù)組類型:
- 索引數(shù)組 - 帶有數(shù)字索引的數(shù)組
一、兩種創(chuàng)建索引數(shù)組的方法:
1、 索引是自動(dòng)分配的(索引從 0 開始):
$cars=array("Volvo","BMW","SAAB");
2、也可以手動(dòng)分配索引:
$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="SAAB";
二、獲得數(shù)組的長度 - count() 函數(shù)
<?php
$cars=array("Volvo","BMW","SAAB");
echo count($cars);
?>
打印:3
三、遍歷索引數(shù)組
<?php
$cars=array("Volvo","BMW","SAAB");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++) {
echo $cars[$x];
echo "
"; //換行
}
?> - 關(guān)聯(lián)數(shù)組 - 帶有指定鍵的數(shù)組
1、關(guān)聯(lián)數(shù)組是使用您分配給數(shù)組的指定鍵的數(shù)組。
2、有兩種創(chuàng)建關(guān)聯(lián)數(shù)組的方法:
方法一:
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
方法二
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43"; - 多維數(shù)組 - 包含一個(gè)或多個(gè)數(shù)組的數(shù)組
后續(xù)學(xué)習(xí)
PHP --- 數(shù)組的排序函數(shù)
在本節(jié)中,我們將學(xué)習(xí)如下 PHP 數(shù)組排序函數(shù):
- sort() - 以升序?qū)?shù)組排序
- rsort() - 以降序?qū)?shù)組排序
- asort() - 根據(jù)值,以升序?qū)﹃P(guān)聯(lián)數(shù)組進(jìn)行排序
- ksort() - 根據(jù)鍵,以升序?qū)﹃P(guān)聯(lián)數(shù)組進(jìn)行排序
- arsort() - 根據(jù)值,以降序?qū)﹃P(guān)聯(lián)數(shù)組進(jìn)行排序
- krsort() - 根據(jù)鍵,以降序?qū)﹃P(guān)聯(lián)數(shù)組進(jìn)行排序
例一:對(duì)數(shù)組進(jìn)行排序
<?php
$cars=array("Volvo","BMW","SAAB");
sort($cars); //升序排列
$clength=count($cars); //打印函數(shù)
for($x=0;$x<$clength;$x++)
{
echo $cars[$x];
echo "<br>";
}
?>
例二:根據(jù)值對(duì)數(shù)組進(jìn)行排序
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
asort($age); // 排序
foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
例三:根據(jù)鍵對(duì)數(shù)組進(jìn)行排序
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
ksort($age); // 排序
foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
PHP --- 全局變量 (這里介紹的并不全面)
PHP 中的許多預(yù)定義變量都是“超全局的”,這意味著它們?cè)谝粋€(gè)腳本的全部作用域中都可用。在函數(shù)或方法中無需執(zhí)行 global $variable; 就可以訪問它們。
- $GLOBALS 這種全局變量用于在 PHP 腳本中的任意位置訪問全局變量(從函數(shù)或方法中均可)。
PHP 在名為 $GLOBALS[index] 的數(shù)組中存儲(chǔ)了所有全局變量。變量的名字就是數(shù)組的鍵。
<?php
$x = 75;
$y = 25;
function addition() {
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; //$GLOBALS[ ] 全局變量
}
addition();
echo $z;
?>
- $_SERVER 這種超全局變量保存關(guān)于報(bào)頭、路徑和腳本位置的信息
- $_REQUEST 用于收集 HTML 表單提交的數(shù)據(jù)。
下面的例子展示了一個(gè)包含輸入字段及提交按鈕的表單。
當(dāng)用戶通過點(diǎn)擊提交按鈕來提交表單數(shù)據(jù)時(shí), 表單數(shù)據(jù)將發(fā)送到 <form> 標(biāo)簽的 action 屬性中指定的腳本文件。
在這個(gè)例子中,我們指定文件本身來處理表單數(shù)據(jù)。如果您需要使用其他的 PHP 文件來處理表單數(shù)據(jù),請(qǐng)修改為您選擇的文件名即可。
然后,我們可以使用超級(jí)全局變量 $_REQUEST 來收集 input 字段的值:
<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;
?>