PHP基礎入門(二)---入門必備哦!

来源:http://www.cnblogs.com/hope666/archive/2017/06/04/6940616.html
-Advertisement-
Play Games

【PHP運算符】【PHP可變變數】【PHP取址符號】【PHP分支與迴圈】【PHP流程式控制制語句goto】 ...


前言

在上一章中,我們初步瞭解了PHP的網頁基礎和PHP的入門基礎,今天繼續給大家分享更多有關PHP的知識。

理論知識看起來可能比較枯燥一些,但是我們的實踐(敲代碼)畢竟離不開它。

只有理論與實踐相結合,才可以用最少的代碼實現更多的功能。

***本章關鍵字:運算符;可變變數;取址符號;分支與迴圈;流程式控制制語句goto。

 

 

下麵,我們來看瞭解一下PHP中的運算符及更多PHP知識基礎

 

運算符

1、算術運算符:+ - * / % ++ --


2、賦值運算符:= += -= *= /= %= .=(連接字元串)


3、比較運算符:> < >= <= == === <>、!= !==


==:要求值相等,而不需要數據類型相等


===:要求值和數據類型,必須相等


!=:只比較值,值相等為false


!==:比較值和類型,值和類型都相等為false


4、邏輯運算符:and/&& or/|| not/! xor

&&和||進行運算的時候,會發生短路:
當左側能夠判斷出結果的時候,便不再執行右側!!(&&左側為假時,結果即為假;||左側為真時,結果即為真)

xor:邏輯異或。兩邊只有一個對的,結果為true;兩邊同為true或同為false,結果都為false。


5、位運算符:

將10進位轉為2進位,然後再進行運算。

&:按位與,轉成二進位後,兩個都是1,結果才為1
|:按位或,轉為二進位後,有一個為1,就是1
^:按位異或,轉成二進位後,兩個不相同為1;兩個都為1,或都為0,結果均為0。
~:按位取反,轉成二進位數後,所有位數取反。1--->0 0--->1
<<:左移:轉成二進位後,左移幾位,右邊空餘位數補0。
num << n 相當於num*2^n(※※※)
>>:右移:轉成二進位後,右移幾位,左邊空餘位數補0。
num >> n 相當於num/2^n(※※※)

6、其他運算符:
表達式1?表達式2:表達式3:
表達式1成立執行表達式2,否則執行表達式3
``:調用系統dos環境下的命令行並執行。但是由於安全性以及跨平臺性,我們並不支持使用;eg:`ipconfig`
@:錯誤信息控制符:可以臨時屏蔽到一些小的錯誤信息。但是不提倡使用!

 

可變變數

在一個變數名前面,再加一個$符號。即可將第一個變數的值,作為新變數的名字。

$hello = "hello1";
$$hello = "world";//$hello1
$$$hello = "Jredu";//$world

 

取址符號


&:變數名前加&可以取出變數在記憶體中的地址,並可以賦給另一個變數。
$num2 = &$num1;//取出num1的地址給num2,相當於我們說的引用數據類型。num2和num1的值將同時改變。

 

分支與迴圈

1、if中的判斷條件
詳見請點擊“好奇就點我吖!上一章中的第二部分【PHP入門基礎】,在這裡,博主就不一一介紹了……

 

2、elseif
PHP中,elseif語句可以連寫,也可以空格分隔;

例如:
else if() √
elseif() √

 

3、switch
PHP中,switch結構的判斷,使用==判斷,而非===
PHP中,continue可以用於switch結構,作用與break相同。
php中,continue和break可以後接數字,表示跳過幾層迴圈或switch;
eg:break 3;表示終止3層迴圈

 

4、do-while迴圈
do-while迴圈的最後必須要加分號。
do{

}while();

 

5、流程式控制制語句

1、break:終止本層迴圈;break後面可接數字,表示終止幾層迴圈。break 3,終止3層迴圈。
2、continue:跳過本次迴圈;continue後面也可接數字,表示跳過幾層迴圈
3、return:終止當前函數,並返回值(如果有的話),但是一般只在函數中使用,腳本中不建議使用return;
4、exit(mixed 結束語)/die(mixed 結束語)函數:直接結束當前PHP腳本!!
如果有參數傳入,則先列印出結束語,然後結束當前腳本。

 

流程式控制制語句goto

1、用法:

定義一個跳轉的錨點,"標識符"-->"jr:"
在任意位置,設置goto語句,跳轉到指定錨點:"goto jr;"


2、作用:

遇到goto語句時,直接跳轉到設置的標識符位置。


3、用於實現分支。
註意:goto語句只是讓當前的程式控制流跳轉到指定錨點,但是並不負責往下執行幾行代碼。
即,從錨點往下所有代碼會依次執行。如果實現多路分支,需配合goto語句,跳過其他分支。(詳見案例如下)


4、goto實現迴圈:

詳見案例。但是,goto中,跳出迴圈不能使用break。


5、goto語句的優缺點:
①優點:使用靈活方便,指令級語句,效率更快,性能更好。
②缺點:goto的大量使用,對於代碼的結構化是個災難。
不利於清晰的代碼結構,不利於理解代碼,而且極有可能跳過某些重要的聲明語句,導致代碼錯誤。

 

理論不如實踐,詳情看下麵代碼↓↓↓

 1 //goto語句實現分支
 2    /*$num = true;
 3    if(!$num){
 4        goto jh;
 5    }else{
 6        goto jr;
 7    }
 8    
 9    jr:
10    echo "3333333333333<br />";
11    echo "4444444444444<br />";
12    goto jj;
13    
14    jh:
15    echo "5555555555555<br />";
16    echo "6666666666666<br />";
17    
18    jj:*/
19    
20    //[1]goto迴圈
21    $num = 0;
22    jr:
23    echo "1222222222221<br />";
24    $num ++;
25    if($num<5){
26        goto jj;//通過goto跳出迴圈,註意不能使用break
27    }
28    goto jr;
29    
30    jj:
31    echo "hahaha";
32    
33    /*//[2]goto實現迴圈
34     $num=0;
35     jr:
36     echo"11111<br>";
37     $num++;
38     if($num<5){
39         goto jr;
40     }*/

 

以上就是今天要和大家分享的內容,希望對大家有所幫助~

博主再次提醒大家,理論知識是敲好代碼的基礎,不能忽視!【PHP基礎入門】會持續更新,感謝大家的關註~~~

 

 


 

作者:夕照希望
出處:http://www.cnblogs.com/hope666/  
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • PowerShell的一個重中之重的功能就是管道(pipeline),本文從淺入深,一步一步詳解管道的使用方法和例子,來看看有沒有你所不知道的吧,如果全知道,恭喜你已經很厲害啦——適用於所有PowerShell應用小白與技術老鳥。另外歡迎各位技術大牛來補充討論學習~ 1. 管道(pipeline)是 ...
  • 繼續上一篇文章的內容,上一篇文章中已經將url管理器和下載器寫好了。接下來就是url解析器,總的來說這個模塊是幾個模塊中比較難的。因為通過下載器下載完頁面之後,我們雖然得到了頁面,但是這並不是我們想要的結果。而且由於頁面的代碼很多,我們很難去裡面找到自己想要的數據。所幸,我們下載的是html頁面,它 ...
  • 如此簡單(不安全)的登錄表單已經不多見了。字幕庫的登錄表單如下所示,其中省去了無關緊要的內容: 通過抓包分析,可以發現用戶名和密碼都沒有被加密: 直接使用POST來模擬登錄: 成功登錄,分析返回頁面中的js代碼,發現有: 說明要跳轉到的頁面在id為href的超鏈接中: 獲取要跳轉到的頁面,然後嘗試打 ...
  • Provider(MessageProvider):生產者Consumer(MessageConsumer):消費者PTP:Point to Point,即點對點的消息模型Pub/Sub:Publish/Subscribe,即發佈/訂閱的消息模型Queue:隊列目標Topic:主題目標Connect ...
  • 這一次,本K帶大家來看一下關於PHP中數組、字元串的一些註意事項和函數(方法)。 一、PHP中的數組 (一)PHP中的數組簡介 數組類型是PHP兩種複合數據類型之一。根據下標的不同,可以將PHP中的數組分成關聯數組和索引數組:前者指下標為字元串格式,每個下標字元串與數組的值一一對應;後者下標為數字, ...
  • 一 概述 1.什麼是監聽器? 監聽Web伺服器的運行,當發生特定的事件時,採取預先設定的處理措施的組件。 2.監聽器的作用 監聽器提供了一種獲取伺服器運行狀況、動態干預的方式,伺服器在運行期間發生指定變化時及時介入干預。 3.監聽類型 Servlet規範主要提供了用於監控application\se ...
  • 進程與線程 進程是程式(任務)的執行過程,具有動態性;持有資源(共用記憶體、共用文件)和線程,是資源和線程的載體。 線程是系統中最小的執行單元,同一進程中有多個線程,線程共用進程的資源。 線程的交互,交互的方式包括互斥與同步。 線程的常用方法 java對線程的支持主要體現在類Thread和介面Runn ...
  • /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...