PHP 學(xué)習(xí)筆記(一)

為了拓展知識(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; 
?>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容