php語法 資料型別,運算子,流程控制

2022-08-13 08:54:23 字數 4253 閱讀 3885

$n1 = 123;

$n2 = 0123;

$n3 = 0x123;

$v1 = 1.234;     //帶小數點,,就是浮點型別

$v2 = 1.234e3;//含義是:1.234乘以10的3次方,即1234,帶e的形式就是浮點數

$v3 = 1234e3;//結果值是1234000,但也是乙個浮點數。

浮點數不應直接進行大小比較

因為浮點數在系統內部(cpu級別),很可能都是不精確表達。

要想進行比較,我們只能考慮自己應用中的精度要求的基礎上,將其轉換為整數進行比較。

通常的做法是:乘以10的精度位數數次方,比如精度要求3位有效數字,則乘以103次方

整數的範圍,在32位系統下,大約正負20多億

js中,雖然有2種字串表達形式,但也應該理解為是一種字串:

var  str1 = 『單引號字串』

var   str2 = 「雙引號字串」;

但在php中,單引號和雙引號字串,是有不同細節含義的字串。

php中,有4種字串形式:

單引號字串:

結果:雙引號字串:

結果:nowdoc(單引號)定界符字串:

.0輸出結果為:

heredoc(雙引號)定界符字串:

結果:用於標識某種只有兩個狀態值的資料:true,false——吃沒吃,去沒去,有沒有。。。。。

在應用出,我們常常會(需要)直接將乙個資料(可能是各種其他型別)當作乙個布林值來進行判斷。

那麼此時其實發生的是:會將該資料隱含轉換為布林值。

最常見的語法形式就是:

if(  某資料/變數 )while(條件判斷);

含義:先執行一次迴圈體,然後判斷條件,如果條件滿足,則繼續回去執行迴圈體,然後再判斷,依次類推。

這裡指的中斷,適用於所有迴圈。

迴圈的中斷有兩種情況:

break中斷:  終止整個迴圈語句,而跳出迴圈進入到迴圈結構之後的語句

中斷語句的語法如下:

break  $n;                //$n是乙個大於等於1的整數,表示要中斷的迴圈層數;

continew $n;            

所謂迴圈層數,是指乙個迴圈中又巢狀了迴圈的情況。

以當前迴圈為「起點」,表示第一層,往上(外)數,就是2,3,4層。。。。

if ( ... ) :

//語句塊

endif;

if ( ... ) : 

//語句塊

else:

//語句塊

endif;

if ( ... ):

//語句塊

elseif( ... ) :

//語句塊

elseif( ... ):

//語句塊

else:

//語句塊

endif;

switch( ... ) :

case ...

case ...

endswitch;

while(...):

//語句塊

endwhile;

for(...; ...; ...):

//語句塊

endfor;

foreach( ):

//語句塊

endforeach;

die(「輸出內容」)

含義:終止php指令碼的執行(後續**不再執行),並輸出其中的內容

也可以:die();         die;

exit是die的同義詞。

die是一種「語言結構」,並非函式,可以不寫括號。

echo也是一種語言結構,而非函式:

echo (「abc」);

echo 

「abc」;

echo 

「abc」, 「def」, 123;        

sleep($n);

含義:讓php指令碼停止$n秒,然後繼續執行。

php中,陣列的下標可以是整數,或字串。

php中,陣列的元素順序不是由下標決定,而是由其「加入」的順序決定。

定義:$arr1 = array(元素1,元素2,。。。。。 );

array(1,  5, 

1.1,  「abc」,  true, 

false);  //可以儲存任何資料,此時為「預設下標」,

array(2=>1,  5=>5, 

3=>1.1,  7=>「abc」,  0=>true);//下標可以任意設定(無需順序,無需連續)

array(2=>1,  5, 

1=>1.1,  「abc」,  0=>true)//可以加下標,也可以不加(預設下標),下標分別是:2,3,1,4,0

//預設下標規則:前面已經用過的最大數字下標+1

array(2=>1,  『dd』=>5, 

1=>1.1,  「abc」,  0=>true)//混合下標,同樣遵循預設下標規則

array(-2=>1,  『dd』=>5, 

1.1,  「abc」,  true);      //負數下標不算在整數下標中,而只當作字元下標

//則最好3項的下標是:0, 1, 2

array(2.7=>1,  『dd』=>5, 

1=>1.1,  「abc」,  0=>true);//浮點數下標為自動轉換為整數,且直接抹掉小數

array(「2.7」

=>1,  『dd』=>5,  「11」=>1.1, 

「abc」,  true)//純數字字串下標,當作數字看待,

//則此時下標為:2, 『dd』, 11, 12, 13

array(2=>1,  『dd』=>5, 

true=>1.1,  「abc」,  false=>true)//布林值當下標,則true為1,false為0;

array(2=>1,  『dd』=>5, 

2=>1.1,  「abc」,  true)//如果下標跟前面的重複,則單純覆蓋前面同名下標的值

//此時相當於為:array(2=>1.1,  『dd』=>5,  「abc」, 

true)

其他形式;

$arr1 = 1;

$arr1 = 5;

$arr1 = 1.1;   //直接在變數後面使用,就成為陣列,並依次賦值。

$arr2[『aa』] = 1;

$arr2[『bbbcc』] = 5;

$arrr2[5] = 1.1;

這種形式寫的下標,其實跟使用array語法結構幾乎一樣。

取值:通過下標。

賦值(同定義):

關聯陣列:通常是指下標為字串,並且該字串大體可以表達出資料的含義的陣列。

例:$person =

array(

「name」 => 「小花」, 

「age」=>18,

「edu」 => 「大學畢業」 ,

索引陣列:

通常是指乙個陣列的下標是嚴格的從0開始的連續的數字下標——跟js陣列一樣。

一維陣列:

就是乙個陣列中的每乙個元素值,都是乙個普通值(非陣列值)

$arr1 = array( 

「name」 => 「小花」, 

「age」=>18,

「edu」 => 「大學畢業」

二維陣列:

乙個陣列中的每一項,又是乙個一維陣列。

$arr1 = array( 

「name」 => array(『小花』,     『小芳』,   『小明』, ); 

「age」=>            array(18,      22,      

19),

「edu」 => array(「大學畢業」,  『中學』,    『小學』)

多維陣列:

依此類推。。。

多維陣列的一般語法形式:

$v1 = 陣列名[下標][下標][.....]

foreach( $arr   as   [

$key  => ] $value )   //$key可以稱為鍵變數,$value可以稱為值變數。

//這裡就可以對$key  和 $value 進行所有可能的操作——因為他們就是乙個變數

//$key 代表每次取得元素的下標,可能是數字,也可以能是字串

//$value 代表每次取得元素的值,可能是各種型別。

//此迴圈結構會從陣列的第一項一直遍歷迴圈到最後一項,然後結束。

交換原理:

foreach中如果值變數是引用傳遞,則無論如何都是在原陣列上

php 資料型別 運算子及流程控制

資料型別劃分 1.標量型別 int float string bool 2.復合型別 array object 3.特殊型別 null resource 整數型別 int integer 三種進製表示法 1.十進位制 123 2.八進位制 0123 3.十六進製制 0x123 進製的轉換 十進位制轉...

js基礎 基本語法 資料型別 運算子

js的編寫的位置 可以編寫到標籤的指定屬性中 我是按鈕 超連結 可以編寫到script標籤中 可以將 編寫到外部的js檔案中,然後通過標籤將其引入 輸出語句 alert 要輸出的內容 該語句會在瀏覽器視窗中彈出乙個警告框 document.write 要輸出的內容 該內容將會被寫到body標籤中,並...

Lua 基本語法(資料型別和運算子)

lua 解釋性語言,不需要編譯.底層 c語言 八大資料型別 求型別的函式 type 值 變數名 返回string 型別名 運算子 1.算術運算子 指數 print 3 2 1.5 print 3.0 2 1.5 local pi 3.1415926 print pi 0.1 0.0415926 lo...