PHP程序設計項目化教程課件 項目2 智能BMI計算與健身運動系統-語法基礎_第1頁
PHP程序設計項目化教程課件 項目2 智能BMI計算與健身運動系統-語法基礎_第2頁
PHP程序設計項目化教程課件 項目2 智能BMI計算與健身運動系統-語法基礎_第3頁
PHP程序設計項目化教程課件 項目2 智能BMI計算與健身運動系統-語法基礎_第4頁
PHP程序設計項目化教程課件 項目2 智能BMI計算與健身運動系統-語法基礎_第5頁
已閱讀5頁,還剩67頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

智能BMI計算

與健身運動推薦系統

——語法基礎項目2張華在日常鍛煉中深刻體會到,為了更有效地提升自己的體質和健康狀況,經常需要對身體指標進行精確評估,如測量體重、計算BMI值等。身為健身愛好者,他萌生了一個想法:研發一款智能BMI計算與健身運動推薦系統,以幫助同學們更科學、更合理地選擇適合自己的運動方式。通過這個系統,同學們可以準確地了解自己的身體狀況,從而制定出更為個性化的健身計劃,選擇出更為合適的運動項目。智能BMI計算與健身運動推薦系統理解標識符與關鍵字的區別和用法;掌握變量的聲明和使用方法、常量的概念和聲明方式;理解不同類型的表達式及其在PHP中的應用;掌握PHP中的基本數據類型(整型、浮點型、布爾型、字符串型、數組、對象、資源等);掌握各種運算符的用法和優先級。能夠正確地使用標識符和關鍵字編寫PHP代碼;能夠聲明和使用變量進行數據存儲和操作、聲明和使用常量表示不變化的數據;能夠運用不同類型的表達式進行計算和邏輯判斷;能夠熟練使用PHP的基本數據類型進行數據處理;能夠運用各種運算符進行數學計算和邏輯判斷。培養良好的編程習慣,如使用有意義的標識符和注釋;提高解決問題的能力,能夠根據實際情況選擇合適的數據類型和運算符;培養邏輯思維能力,能夠編寫結構清晰、邏輯性強的PHP代碼。變量和常量標量數據類型運算符表達式數據類型的轉換變量和常量PART01在PHP中,經常需要定義一些符號來代表程序中的實體,如變量名、函數名、類名等,這些符號被稱為標識符。為了確保代碼的清晰和一致性,在命名標識符時需要遵循以下規則。(1)僅可由字母、數字、下畫線組成。(2)不能以數字開頭,以避免與數值混淆。(3)用作變量名時,區分大小寫。2.1.1標識符關鍵字是PHP中已經定義好并賦予特殊含義的標識符,也稱作保留字。需要注意,關鍵字不能作為常量、函數名或類名等使用,表所示為PHP中常見的關鍵字。2.1.2關鍵字變量,顧名思義,就是其值可以變化的量。1.變量的命名變量的命名遵循之前提到的標識符命名規則,但有一些特定的要點需要強調。(1)在PHP中,所有變量名都必須以美元符號($)開頭。(2)包含字母、數字、下畫線,但不能以數字開頭,也不能包含空格或其他非法字符。(3)區分大小寫的。(4)不能使用PHP中的關鍵字。通過遵循這些規則,確保變量名的合法性和一致性,從而編寫出更加清晰、易于維護的PHP代碼。2.1.3變量2.變量的賦值在PHP中,通過3種方式為變量賦值:直接賦值、傳值賦值和引用賦值。(1)直接賦值直接賦值是指將一個具體的值賦給某個變量,其基本語法格式是“$變量名=值”:$name指向字符串'Jack'在內存中的位置,$age指向數字20的位置。2.1.3變量$name='Jack';//將字符串'Jack'賦給變量$name$age=20; //將數字20賦給變量$age2.變量的賦值(2)傳值賦值傳值賦值意味著將一個變量的值復制到另一個變量中:$x和$y都指向數字20,但是它們各自獨立,改變$y的值不會影響$x的值。2.1.3變量$x=20;$y=$x;//將$x的值復制到$y中echo$x;//輸出20echo$y;//輸出202.變量的賦值(3)引用賦值引用賦值是指在PHP中,通過在一個變量前添加&符號來創建一個引用,該引用指向另一個已存在的變量。例如:$m和$n均指向數字20。當改變其中一個變量的值時,另一個變量的值也會隨之改變。通過這種方式,我們可以實現多個變量之間的數據同步更新。2.1.3變量$m=20;$n=&$m;//$n引用了$mecho$n;//輸出20$m=200;echo$n;//輸出200,因為$n引用的是$m的值,所以$m的變化會反映在$n上3.變量的分類變量在代碼中的可訪問范圍稱為變量的作用域。根據作用域的不同,可將變量分為局部變量和全局變量。(1)局部變量局部變量具有局限性,其作用域通常限制在特定的程序區域。局部變量是定義在函數內部、主程序或全局代碼塊(如循環、條件語句等)、其他局部作用域內(控制結構如try-catch塊、with語句等)中的變量,對于其聲明區域之外的代碼是不可訪問的。(2)全局變量全局變量的作用域涵蓋整個程序,這意味著它們可以在程序的任何部分被訪問,包括在用戶定義的代碼塊(如函數、類等)內部。2.1.3變量4.可變變量為了方便在開發時動態地改變一個變量的名稱,PHP提供了一種特殊的變量—可變變量。通過可變變量,可以將一個變量的值作為該變量的名稱。可變變量的實現,需要在一個變量前多加一個$符號,其語法格式如下。$$a表示將$a的值作為變量名,即$say。以上代碼的執行結果如圖所示。2.1.3變量$a='say';$say='Hello';$Hello='Lihua';echo'$a的值:',$a;echo'<br>';echo'$$a的值:',$$a;echo'<br>';echo'$$$a的值:',$$$a;echo'<br>';假設你正在開發一個簡單的商品管理系統,需要定義4個變量分別用于存放商品名稱、商品價格、商品廠家、商品數量并輸出其值。編寫php文件,實現商品信息的定義和輸出。【案例實踐2-1】輸出商品信息<?php$itemName='鼠標';$itemPrice='49.9元';$itemProducer='羅技';$itemCount='82個';echo'<h3>商品信息</h3>';echo'商品名稱:'.$itemName.'<br>';echo'商品價格:'.$itemPrice.'<br>';echo'商品廠家:'.$itemProducer.'<br>';echo'商品數量:'.$itemCount.'<br>';?>啟動內置服務器,在瀏覽器中打開php文件。【案例實踐2-1】輸出商品信息(1)變量名對于變量,應該使用小駝峰命名法(camelCase)。(2)常量名常量名應該全部大寫,使用下畫線分隔單詞(例如:MAX_FILE_SIZE)。(3)函數名對于函數,應該使用小駝峰命名法,且首字母小寫。函數名應該是動詞或動詞短語。(4)數組名數組名應該遵循與變量名相同的命名規范。如果是關聯數組,建議使用有意義的鍵名。(5)類名使用大駝峰命名法(PascalCase),且類名必須是名詞(例如:UserController)。(6)類文件名類文件名應該與類名命名規范保持一致,使用大駝峰命名法。類文件的擴展名應該是.php(例如:UserController.php)。編程命名規范(7)與數據庫相關的命名數據庫表名應該全部小寫并以下畫線分隔單詞(例如:user_info),數據庫列名也應該遵循相同的命名規范。此外,還有一些其他的編程規范建議。

使用有意義的變量名和函數名,避免使用無意義的名稱(如$a、$b等)。

注釋應該清晰明了,應解釋代碼的目的和功能,而不是描述代碼本?身。

避免使用過長的函數名和類名,保持代碼的簡潔和模塊?化。

遵循面向對象程序設計原則,以提高代碼的可擴展性和可維護?性。編程命名規范常量是在程序運行過程中其值始終保持不變的數據。一旦為常量分配了值,就不能再修改或重新定義它。在PHP中,通常使用大寫字母對常量進行命名,以區分常量與變量。常量包括自定義常量和預定義常量。2.1.4常量1.自定義常量自定義常量使用大寫字母定義常量名稱。自定義常量分別是使用define()和const定義。(1)define()函數define()函數可以同時定義常量的名稱、常量的值,并設置常量名是否區分大小寫。具體應用如下。2.1.4常量define($name,$value[,$case_insensitive]);define('PI',3.1415926);define('name','張華');echoPI;//輸出3.1415926echoname;//輸出“張華”1.自定義常量(2)const關鍵字在PHP中,還可以使用const關鍵字來定義常量,這種方法更為簡潔。2.1.4常量constR=6;echo'R=',R;//輸出R=6//PHP7.0支持利用表達式對常量進行賦值constP=2*R;echo'P=',P;//輸出P=122.預定義常量預定義常量也稱作魔術常量。預定義常量的使用方法和自定義常量的相同,但往往不區分大小寫。表所示是PHP中常見的預定義常量。注意__FILE__、__LINE__等預定義常量中的__是指兩條下畫線。2.1.4常量假設你正在開發一個簡單的商品管理系統,根據需求,商品信息中需要添加一些表示商品折扣信息的常量(如商品狀態、折扣百分比)。編寫php文件,實現商品折扣信息的定義和輸出。【案例實踐2-2】輸出商品折扣信息<?php//輸出商品信息同案例實踐2-1define('ITEM_AVAILABLE','正在打折'); //定義一個商品狀態常量define('DISCOUNT_PERCENTAGE',10); //定義一個折扣百分比常量//告知消費者echo'<h3>商品折扣信息</h3>';echo"商品狀態:".ITEM_AVAILABLE."<br>";echo"商品折扣為原價的百分之".DISCOUNT_PERCENTAGE."<br>";//嘗試修改常量值(這將導致錯誤)//define('DISCOUNT_PERCENTAGE',20);//這行代碼會導致嚴重錯誤?>運行結果如圖所示。【案例實踐2-2】輸出商品折扣信息標量數據類型PART02在程序開發中,往往需要對數據進行操作,每個數據都有其對應的數據類型。PHP是一種弱類型語言,這意味著在定義變量時,不需要顯式聲明其數據類型,PHP會根據賦予變量的值來判斷其數據類型。PHP支持的數據類型可以分為3類,分別為標量數據類型、復合數據類型和特殊數據類型,如圖所示。2.2標量數據類型在PHP中,布爾型(boolean)是一種基本的數據類型,通常用于邏輯計算。布爾型數據只有兩個值,用于表示事物的真(true)或假(false),true和false不區分大小寫。若要定義布爾型數據,只需要將true或false賦給變量即可。布爾型變量常作為表達式的結果用于流程控制。2.2.1布爾型$var1=true; //將true賦給變量$var1$var2=false; //將false賦給變量$var2整型用于表示整數,它可以表示為八進制數、十進制數、十六進制數或二進制數,并且在數值前可以添加+或-符號,以區分正整數和負整數。具體來說,如果是八進制數,就在數值前加0;如果是十六進制數,則在數值前加0x;如果是二進制數,則在數值前加0b。在32位系統中,整型數據的取值范圍是-2147483648~2147483647;在64位系統中,整型數據的取值范圍是-9223372036854775808~9223372036854775807。當整型數據的值大于系統的取值范圍時,將被自動轉換成浮點型數據。2.2.2整型$num1=0; //定義十進制整型數據0$num2=123; //定義十進制整型數據123$num3=-123; //定義十進制整型數據-123$num4=0b1111011; //定義二進制整型數據(等于十進制數123)$num5=0173; //定義八進制整型數據(等于十進制數123)$num6=0x7D; //定義十六進制整型數據(等于十進制數123)浮點型用于表示小數,也稱為浮點數、雙精度數或實數。浮點型數據的有效位數是14位,有效位數是指從最左邊第一個不為0的數開始,直到末尾數的個數,不包括小數點。浮點型數據有兩種表示格式,分別是標準格式和科學記數法格式。使用標準格式定義浮點型數據如下。使用科學記數法格式定義浮點型數據如下。2.2.3浮點型$pi=3.1415;$r=2.5;$a=4.567E-2;//定義浮點型數據0.04567$b=5.678E-4;//定義浮點型數據0.0005678字符串由數字、字母和符號組成,是連續的字符序列。PHP中可以使用單引號、雙引號、heredoc結構和nowdoc結構定義字符串。(1)單引號字符串的簡單定義方式就是使用單引號將字符串引起來。使用單引號定義字符串時,不能解析字符串中的變量。2.2.4字符串型$str1='山重水復疑無路,柳暗花明又一村。'; //使用單引號定義字符串$str2='張華說:"只要功夫深,鐵杵磨成針!"'; //單引號中使用雙引號$str3='Hesaid,"I\'mfondofPHP.".'; //對單引號進行轉義$name='小明';echo'$name=',$name;(2)雙引號使用雙引號將字符串引起來,如果字符串中也包含雙引號,需要將字符串中的雙引號用轉義符\轉義后定義和輸出。雙引號字符串中,可以使用多種轉義字符來插入特殊字符。區別于單引號,使用雙引號定義字符串時,字符串中的變量會被析,會顯示變量的值。2.2.4字符串型$str1="路漫漫其修遠兮,吾將上下而求索。";//使用雙引號定義字符串$str2="要想生活過得去,就得學會\"放下\"。";//對雙引號進行轉義$str3="Hesaid,\"I'mfondofPHP.\".";//對雙引號進行轉義(3)heredoc結構在構建包含變量和HTML標簽的復雜字符串時,heredoc結構尤為有用。具體參數說明如下。<<<:定界符(PHP4之后支持),表示heredoc結構的開始,為固定用法。開始標識符:自定義的一個標識符,用于強調字符串的開始。結束標識符:與開始標識符名稱相同,用于強調字符串的結束。2.2.4字符串型<<<開始標識符字符串內容結束標識符;(4)nowdoc結構使用nowdoc結構定義字符串的語法格式與使用heredoc結構定義的相似,區別是開始標識符必須由單引號引起來。2.2.4字符串型<<<'開始標識符'字符串內容結束標識符;(5)字符串結構比較我們已經了解了4種定義字符串的方式,它們之間的主要差異如下所?述。

使用雙引號或heredoc結構來定義字符串時,其中的變量將會被自動解析。這種方式在處理包含動態字符串時非常有?用。

使用單引號或nowdoc結構定義字符串,字符串中的變量則不會被解析。這種方式在處理靜態字符串或不需要解析變量的場景中更為高?效。

在單引號定義的字符串內,僅有單引號(')和反斜線(\)需要經轉義處理,這使得其處理方式相對簡?潔。

雙引號定義的字符串支持更為豐富的轉義字符,為開發者提供了更高的靈活性和便利?性。2.2.4字符串型PHP提供了一系列函數,用于檢測數據的類型。下表所示為常用的數據類型檢測函數。上表中函數的返回值為布爾型的檢測結果,如果返回true則表示數據類型符合要求,如果返回false則表示數據類型不符合要求。2.2.5數據類型的檢測運算符PART03按照操作數的個數可以將運算符分為單目運算符(只有1個操作數)、雙目運算符(有2個操作數)和三目運算符(有3個操作數)。1.單目運算符單目運算符只有1個操作數,常見的單目運算符有++、--等。2.雙目運算符雙目運算符有2個操作數。雙目運算符是較常用的。2.3.1運算符的分類$x++;//$x自增1$y--;//$y自減1$sum=$x+$y;//加法$difference=$x-$y;//減法$product=$x*$y;//乘法$quotient=$x/$y;//除法3.三目運算符三目運算符又稱為三元運算符,唯一的一個三目運算符是條件運算符,用于實現簡單的條件判斷,根據條件表達式的結果執行不同的表達式。在該語法格式中,需要先判斷條件表達式的結果是否為真,如果結果為真,則返回表達式1的執行結果;如果結果為假,則返回表達式2的執行結果。2.3.1運算符的分類<條件表達式>?<表達式1>:<表達式2>在PHP中,可以在一個三目運算符的條件表達式中嵌套另一個三目運算符。這種嵌套使得在單個表達式中能夠執行更復雜的條件邏輯。例如,為了找出3個數中的最大值,可以這樣寫。在這個例子中,首先比較$a和$b。如果$a大于$b,接著比較$a和$c,選擇兩者中的較大值;如果$a不大于$b,則比較$b和$c,選擇其中的較大值。三目運算符嵌套$a=10;$b=5;$c=2;$result=($a>$b)?(($a>$c)?$a:$c):(($b>$c)?$b:$c);echo"它們中的最大值為:".$result;//輸出“它們中的最大值為:10”算術運算符是簡單、常用的運算符,主要用來處理算術運算操作。PHP中常用的算術運算符如下表所示。2.3.2算術運算符下面是一些使用算術運算符的示例。2.3.2算術運算符//加法運算符示例$sum=5+10;//結果為15echo$sum.'<br>';//輸出15//減法運算符示例$difference=5-10;//結果為-5echo$difference.'<br>';//輸出-5//取模運算符示例echo12%5;//輸出2,因為12除以5余2//冪運算符示例echo2**3;//輸出8,因為2的3次方等于8假設你正在開發一個商品管理系統,并且已經定義了商品的原價和折扣率。接下來,將計算商品的折扣價格,并將結果展示給消費者。【案例實踐2-3】計算商品折扣信息<?php//輸出商品信息同案例實踐2-1//輸出商品折扣信息同案例實踐2-2//$itemPrice已經在前面的代碼中定義并被賦值為“商品價格”//DISCOUNT_PERCENTAGE是已經在前面的代碼中定義并被賦值的折扣率常量,值為20//將商品價格轉換為浮點數以確保計算的準確性$itemPrice=(float)$itemPrice;//計算折扣價格:原價乘以折扣率再除以100$itemDiscountPrice=$itemPrice*(DISCOUNT_PERCENTAGE/100);//展示折扣價格給消費者echo"<b>商品折扣價格為{$itemDiscountPrice}元</b><br>";?>運行結果如圖所示。【案例實踐2-3】計算商品折扣信息賦值運算符在編程中起著至關重要的作用,它們用于將數據值賦給變量。賦值運算可以分為兩種類型:簡單賦值運算和復合賦值運算。PHP中常用的賦值運算符如下表所示。2.3.3賦值運算符在PHP中,可以使用=同時對多個變量進行賦值,這種賦值語句的執行順序是從右至左,例如:2.3.3賦值運算符$a=$b=$c=1; //3個變量都被賦值為1復合賦值運算符如+=、-=、*=、/=、%=、**=和.=,在使用時,會先對左側變量與右側值執行對應的算術運算或字符串連接操作,然后將運算結果重新賦給左側的變量。2.3.3賦值運算符//加并賦值(+=)$a=2;$b=3;$a+=$b;//等同于$a=$a+$b;echo$a.'<br>';//輸出5echo$b.'<br>';//輸出3,因為$b的值沒有改變//按照同樣的方式,可以嘗試其他復合賦值運算符...//連接并賦值(.=)$c='Hello';$d='World';$c.=$d;//等同于$c=$c.$d;echo$c.'<br>';//輸出HelloWorldecho$d.'<br>';//輸出World,$d的值保持不變比較運算符用于對兩個變量或兩個表達式進行比較,其結果返回一個布爾型的值true或false。PHP中常用的比較運算符如下表所示。2.3.4比較運算符2.3.4比較運算符在PHP中,不同類型的值之間也可以進行比較。這時,PHP會自動進行類型轉換以完成比較。$a=2;$b=3;//使用==判斷$a和$b的值是否相等var_dump($a==$b);//輸出bool(false),因為2不等于3var_dump($a==2);//輸出bool(true),因為2等于2//使用===判斷$a和$b的值和類型是否都完全相同var_dump($a===$b);//輸出bool(false),因為值不相等var_dump($a===2);//輸出bool(true),因為值和類型都相同//使用!=判斷$a和$b的值是否不相等var_dump($a!=$b);//輸出bool(true),因為2不等于3var_dump($a!=2);//輸出bool(false),因為2等于2//使用!==判斷$a和$b的值和類型是否不全相等var_dump($a!==$b);//輸出bool(true),因為值不相等//由于$a和$b都是整型,但值不相等,所以結果為true//使用>判斷$a是否大于$bvar_dump($a>$b);//輸出bool(false),因為2不大于3var_dump($a>1);//輸出bool(true),因為2大于1邏輯運算符用于邏輯判斷,其返回值與比較運算符的一致,為布爾型。PHP中常用的邏輯運算符如下表所示。2.3.5邏輯運算符在PHP編程中,邏輯運算符經常與流程控制語句(如if語句、while語句等)結合使用,用于構建復雜的條件判斷結構。此外,需要注意的是,在邏輯運算中,某些值會被自動轉換為false,這些值包括空值(null)、0、false、空字符串('''')、空數組(array())以及空對象(newstdClass())等。2.3.5邏輯運算符$a=2;$b=0;//與運算符示例var_dump($a&&$b);//輸出bool(false),因為$b為0,被視為falsevar_dump($aand$b);//輸出bool(false)//或運算符示例var_dump($a||$b);//輸出bool(true),因為$a為2,被視為truevar_dump($aor$b);//輸出bool(true)//非運算符示例var_dump(!$a);//輸出bool(false),因為$a不為0,被視為true,取反后為falsevar_dump(!$b);//輸出bool(true),因為$b為0,被視為false,取反后為true//異或運算符示例var_dump($axor$b);//輸出bool(true),因為$a和$b的布爾值不同運算符的優先級由它們之間的關聯性決定。下表所示為PHP中運算符的優先級。2.3.6運算符的優先級假設你正在開發一個簡單的商品管理系統,已經定義了商品信息和商品折扣信息,需要根據商品的進價,判斷該商品以當前折扣出售能否有盈利。【案例實踐2-4】計算商品盈利<?php//輸出商品信息同案例實踐2-1//輸出商品折扣信息同案例實踐2-2//輸出商品折扣價格同案例實踐2-3//判斷商品是否有盈利$itemCostPrice=16.8;$itemProfit=$itemDiscountPrice-$itemCostPrice;$result=$itemProfit>0?"該商品以該折扣價格出售有盈利":"該商品以該折扣價格出售無盈利";echo"<b>{$result}</b>;?>運行結果如圖所示。【案例實踐2-4】計算商品折扣信息表達式PART04在PHP中,表達式是操作數和運算符組成的式子,是編程的基礎組件,它們能夠執行特定的操作并產生一個結果。這些操作可以是非常簡單的算術運算,也可以是復雜的邏輯判斷或函數調用。表達式的結果根據其內容和上下文,可能是一個具體的數值、一個對象,或者是一個布爾值。2.4表達式1.賦值表達式賦值表達式不僅用于為變量分配一個值,而且它本身也作為一個表達式存在,其結果為賦值運算符右邊的式子的值,例如:在上述代碼中,$a=2就是一個賦值表達式,它不僅將2賦給變量$a,而且該表達式的值也是2。2.4表達式<條件表達式>?<表達式1>:<表達式2>2.比較表達式比較表達式用于比較兩個值,并返回一個布爾值,表示這兩個值是否滿足特定的比較條件,例如:在這個例子中,($b==2)是一個比較表達式,其結果是一個布爾值,如果$b確實等于2,那么結果為true,否則為false。2.4表達式$b=2;$isEqual=($b==2);//這是一個比較表達式,判斷$b是否等于23.表達式的靈活應用表達式具有靈活性和多樣性,PHP編程可以實現更加豐富和強大的功能。2.4表達式$a=1;//賦值表達式,將整數1賦給變量$a$b=2;//賦值表達式,將整數2賦給變量$becho$a=1;//輸出賦值表達式$a=1的結果,即1echo$b+4;//輸出算術表達式$b+4的結果,即6echo5,6;//輸出兩個表達式5和6的值,這里會先輸出5然后輸出6$isEqual=($a==$b);//比較表達式,判斷$a和$b是否相等,并將結果存儲在$isEqual中if($isEqual){echo"aequalsb";}else{echo"adoesnotequalb";}//由于$a是1,$b是2,所以輸出adoesnotequalb數據類型的轉換PART05在PHP中,當運算涉及不同數據類型的數據時,為了確保操作的正確性,經常需要將數據類型統一。這就涉及數據類型的轉換。數據類型轉換主要分為自動類型轉換和強制類型轉換。2.5數據類型的轉換自動類型轉換又稱為隱式類型轉換,是指當參與運算的兩個數據的類型不同時,PHP會自動將其轉換成相同類型的數據再進行與運算。常見的自動類型轉換有3種。1.自動轉換成布爾型標量數據類型(整型數據、浮點型數據、字符串數據)在需要時可以被自動轉換成布爾型數據。當使用比較運算符“==”進行比較時,如果兩側的數據類型不同,其中一側是布爾型數據,那么另一側會被自動轉換成布爾型數據以進行比較。2.5.1自動類型轉換var_dump(0==false);//輸出bool(true),因為整型數據0被自動轉換為布爾型數據falsevar_dump('0'==false);//輸出bool(true),字符串'0'也被視為falsevar_dump(0.0==false);//輸出bool(true),因為浮點型數據0.0被自動轉換為布爾型數據falsevar_dump(''==false);//輸出bool(true),空字符串被轉換為falsevar_dump(2==false);//輸出bool(false),非零整數被視為truevar_dump('Hello'==false);//輸出bool(false),非空非零字符串被視為true2.自動轉換成整型在標量數據類型中,浮點型自動轉換成整型時,會向下取整;布爾型轉換成整型時,布爾值false會轉換成整型數據0,布爾值true則會轉換成整型數據1;字符串型轉換成整型時,若字符串以數字開頭,則轉換成整型的對應數值。2.5.1自動類型轉換var_dump(true+1); //輸出int(2)var_dump(false+1); //輸出int(1)var_dump('Hello'+1); //輸出int(1),因為'Hello'被轉換為03.自動轉換成字符串型整型和浮點型轉換成字符串型時,會直接將數字轉換成字符串形式;布爾型轉換成字符串型時,布爾值false會轉換成字符串1,布爾值0會轉換成字符串0。2.5.1自動類型轉換echo'false被轉換成字符串后:'.false; //輸出false被轉換成字符串后:0echo'true被轉換成字符串后:'.true; //輸出true被轉換成字符串后:1var_dump(1.'Hello'); //輸出string(6)"1Hello"var_dump(1.23.'Hello'); //輸出string(9)"1.23Hello"強制類型轉換,也稱為顯式類型轉換,是指將一種數據類型轉換成另一種需要的數據類型,不需要考慮自動類型轉換的情況。常見的類型轉換運算符及其對應的轉換類型如下表所示。2.5.2強制類型轉換在進行布爾型的強制轉換時,null、0和未賦值的變量或數組會被轉換成false,其他被轉換成true。在進行整型的強制轉換時,應遵循以下轉換規?則。

布爾值false轉換成0,true轉換成1。

浮點型數據的小數部分被舍去,保留整數部?分。

字符串如果以數字開頭,則截取到非數字位,如果數字中含有小數點,則截取到小數點前,否則轉換為0。在進行浮點型的強制轉換時,應遵循以下轉換規?則。

布爾值false轉換成0.0,true轉換成1.0。

浮點型數據數據的小數部分被舍去,保留整數部?分。

字符串如果以數字開頭,則截取到非數字位,如果數字中含有小數點,則截取到小數點前,否則轉換為0。2.5.2強制類型轉換為構建智能BMI計算與健身運動推薦系統,我們需要實現以下核心功能:學生的基本信息會被保留并顯示在頁面上;根據BMI的計算公式,計算學生的BMI;根據BMI,分析當前學生的體重屬于過

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論