PHP學習筆記(二)

2021-09-21 18:45:18 字數 4506 閱讀 1078

例如:

情況1).$a='歡迎來到杭州,2016g20峰會開始了';

情況2).$a='2016杭州g20峰會開始了';

$b=(int)$a;

var_dump($b);

當進行上述操作將變數a強制轉換為整型並賦值給變數b的時候,系統會在原字串的開頭進行檢視是否存在整型數值,如果有則將其傳給

新的變數,如果沒有則將0傳給新的變數

值得注意的是,在進行強制轉換時是將原變數複製乙份再進行強制轉換的,並不影響原變數的值

例如:$a='2010後盾網';

settype($a,'int');

var_dump($a);

輸出結果:int 2010

intval()轉換成整型,floatval()轉換成浮點型,strval()轉換成字串型 boolval()轉換成布林型

$a='2010';(string '2010' (length=4))

$b=intval($a);

var_dump($a);

輸出結果:int 2010

注意:這幾個函式只針對標量型別

$a=100;

$b=200;

$c=$a+$b;

$d=$c-300;

$e=$c*2;

$f=5/3;

$g=5%3;

echo '$c='.$c.'

$d='.$d.'

$e='.$e.'

5/3='.$f.'

5/3的餘數'.$g;

輸出結果:

$c=300

$d=0

$e=600

5/3=1.6666666666667  從這裡可以看出,有別於其他程式設計軟體,這裡5/3並非整除概念,而是輸出實際結果

5/3的餘數2

$a=100;

$b=$a++;

echo'$a='.$a.'

$b='.$b;

輸出結果:

$a=101

$b=100

$a=100;

$b=++$a;

echo'$a='.$a.'

$b='.$b;

輸出結果:

$a=101

$b=101

$a=100;

$b=$a--;

echo'$a='.$a.'

$b='.$b;

輸出結果:

$a=99

$b=100

$a=100;

$b=--$a;

echo'$a='.$a.'

$b='.$b;

輸出結果:

$a=99

$b=99

>大於 《小於 >=大於等於 <=小於等於 <>/!不等於有兩種表示形式  !==不全等於 ===全等於

比較運算子返回的都是布林型的值

示例程式

$uname_arr=array("張三","李四","王五","趙六");

$upwd_arr=array("張三"=>"12345","李四"=>"123456","王五"=>"1234","趙六"=>"1234567");

$uname=isset($_get['uname'])?$_get['uname']:'';

$pwd=isset($_get['upwd'])?$_get['upwd']:'';

//判斷接收到的使用者名稱和密碼是否和資料庫中的匹配,若匹配則顯示成功登陸,否則登入失敗

if(in_array($uname,$uname_arr))elseelseelse

**段;

形式3:

if(表示式1)

**段;

}elseif(表示式2)

**段;

}elseif(表示式3)

**段;

}elseif(表示式4)

**段;

示例程式:

$user_age=62;

if($user_age>=25&&$user_age<55)elseif($user_age>=55&&$user_age<=70)elsewhile(表示式);

注意:while後面的分號不能丟,不能丟,不能丟,重要的事情說三遍.

$sum=0;

$a=1;

do$sum=$sum+$a;

$a++;

}while($a<=100);

echo $sum;

輸出結果:5050

語法結構:break int;

後面的數字表示跳過幾級迴圈

示例程式1.

$i=1;

while(true){

echo "後盾網_________".$i,'

';$i++;

if($i==10){

break;

跳回到迴圈體頭部

$i=0;$j=0;

while($i++<5){

echo '$i='.$i;

if ($j++==2){

continue;

echo '$j='.$j;

echo '

';第一次i=0小於5,輸出$i=1,$j=0和5比較,小於5,continue語句不執行,輸出$j=1和換行符;

第二次i=1小於5,輸出$i=2,$j=1不等於2,continue語句不執行,輸出$j=2和換行符;

第三次i=2小於5,輸出$i=3,$j=2等於2,continue語句執行,回到迴圈體頭部;

第四次i=3小於5,輸出$i=4,$j=3不等於2,continue語句不執行,輸出$j=4和換行符;

第五次i=4小於5,輸出$i=5,$j=4不等於2,continue語句不執行,輸出$j=5和換行符;

注意:die();

exit;都是退出指令碼,不執行後面的語句.

static

1.是在所有對函式的呼叫中共享

2.只有在第一次呼叫的時候賦值

function say(){

static $i;

echo $i.'

';$i++;   

say();

say();

say();

say();

say();

say();

say();

say();

say();

say();

say();

say();

輸出結果:

$bbs="後盾網論壇";

function say_name(){

$bbs="houdunwang.com

";echo $bbs;

say_name();

echo $bbs;

輸出結果:

houdunwang.com

後盾網論壇

global

在全域性範圍有效

$bbs="後盾網論壇";

function say_name(){

global $bbs;

$bbs="houdunwang.com

";echo $bbs;

say_name();

echo $bbs;

輸出結果:

houdunwang.com

houdunwang.com

$bbs="後盾網論壇";

function say_name(){

$bbs="houdunwang.com

";return $bbs;

$bbs=say_name();

echo $bbs;

輸出結果:

houdunwang.com

$bbs="後盾網論壇";

function say(){

global $bbs;

$bbs="houdunwang.com

";unset($bbs);

$bbs="1111111111111111111111";

say();

echo $bbs;

輸出結果:

houdunwang.com

分析:在函式體中將$bbs定義為全域性變數並賦值為"houdunwang.com

"unset($bbs)將$bbs在函式體中解除安裝.

並賦新值給$bbs

新的$bbs已經不再是全域性變數而是區域性變數

function eat($name){

$name=$name."女士";

echo $name."在吃飯

";$name="小張";

eat($name);

echo $name;

輸出結果:

小張女士在吃飯

小張此時操縱函式內的變數就相當於在操縱函式外部的原變數

function eat(&$name){

$name=$name."女士";

echo $name."在吃飯

";$name="小張";

eat($name);

echo $name;

輸出結果:

小張女士在吃飯

小張女士

PHP 學習筆記(二)

關於陣列 在筆記一中寫有對陣列的初步介紹,由鍵名 可以是字串和數字 和值組成。array 是屬於宣告陣列。還可以通過直接賦值的方法宣告陣列!在陣列的輸出中,通過echo print語句只能對陣列的單一元素進行輸出,但是要對陣列進行整體輸出還是要用乙個很好看的函式啦啦啦!print r 該函式能對陣列...

PHP學習筆記(二)

php 表單處理 php 的 get 和 post 用於檢索表單中的值,比如使用者輸入。上面的 html 頁面例項包含了兩個輸入框和乙個提交按鈕。當使用者填寫該表單並單擊提交按鈕時,表單的資料會被送往 welcome.php 這個檔案。welcome you are years old.上面這個指令...

PHP學習筆記(二)

插補 用乙個字串的內容來代替乙個變數的操作就是插補。第三種指定字串方法 heredoc語法 a 10 echo 執行結果如下 theend標記相當於指定了開始和結束的標記,而且不會出現在文字之中,可以指定長字串 heredoc字串是插補的,就像雙引號字串一樣。資料型別 php的資料型別有 整型,浮點...