PHP學習總結(14)——PHP入門篇之常用運算符

一、什么是運算符
什么是運算符?運算符是告訴PHP做相關運算的標識符號。例如,你需要計算123乘以456等于多少,這時候就需要一個符號,告訴服務器,你需要做乘法運算。
PHP中的運算符有哪些?PHP運算符一般分為算術運算符、賦值運算符、比較運算符、三元運算符、邏輯運算符、字符串連接運算符、錯誤控制運算符。
任務
我們小時候學數學,首先學阿拉伯數字“1,2,3…”,然后就開始學習“1加1等于2”,那么在PHP中,加法算術運算符用啥表示呢?用“+”來表示。在右邊的編輯器中,輸入一條指令“$c = $a + $b;”。
二、PHP中的算術運算符
算術運算符主要是用于進行算術運算的,例如:加法運算、減法運算、乘法運算、除法運算。在PHP中的常用的算術運算符對應下表:
任務
考考服務器^_^,算個平均分唄!
在右邊編輯器中,輸入四條指令,如圖:
1、在第7行輸入第一條指令,用于計算總分;
$sum = $english+$math+$biological+$physical;
2、在第8行輸入第二條指令,用于計算平均分;
$avg = $sum / 4;
3、在第9行輸入第三條指令,計算數學比英語高幾分;
$x = $math - $english;
4、在第10行輸入第四條指令,學習下平方的計算方法。
$x2 = $english * $english;
計算結果如圖所示:

三、PHP中的賦值運算符
PHP的賦值運算符有兩種,分別是:
(1)“=”:把右邊表達式的值賦給左邊的運算數。它將右邊表達式值復制一份,交給左邊的運算數。換而言之,首先給左邊的運算數申請了一塊內存,然后把復制的值放到這個內存中。
(2)“&”:引用賦值,意味著兩個變量都指向同一個數據。它將使兩個變量共享一塊內存,如果這個內存存儲的數據變了,那么兩個變量的值都會發生變化。
任務
咱們對比一下兩個賦值運算符的區別吧?
在右邊編輯器中輸入條指令,
1、在第3行中輸入第一條指令:
$b = $a;
2、在第4行中輸入第二條指令:
$c = &$a;
如圖所示:
從運行結果中:

四、PHP中的比較運算符
比較運算符主要是用于進行比較運算的,例如:等于、全等、不等、大于、小于。在PHP中常用的比較運算符如下表:
任務
咱來試試比較運算符吧!
在右邊編輯器中,輸入11條指令,如圖所示:
分別是第4行,第6行,第8行,第10行,第12行,第14行,第18行,第20行,第22行,第24行,第26行。運行結果如下:
從運行結果中,我們可以發現全等和等于的區別,不等與非全等的區別。
五、PHP中的三元運算符
(“?:”)三元運算符也是一個比較運算符,對于表達式(expr1)?(expr2):(expr3),如果expr1的值為true,則此表達式的值為expr2,否則為expr3。
任務
看看三元運算符咋用吧!
在右邊編輯器中第3行輸入一條指令:
$b = $a >= 60 ? "及格": "不及格";
如下圖所示:
其expr1的作用是判斷$a值是否大于60,若大于60,則$b變量的值為expr2的值“及格”,若小于60,則$b變量的值為expr3的值“不及格”。運行結果如圖所示:

六、PHP中的邏輯運算符
邏輯運算符主用是進行邏輯運算的,例如:邏輯與、邏輯或、邏輯異或、邏輯非等,在PHP中常用的邏輯運算符如下表:(點擊看大圖)
我們可以從投票的角度來理解邏輯運算:
1、邏輯與:要求所有人都投票同意,才會通過某協議;
2、邏輯或:只要求一個人投票同意就行;
3、邏輯異或:只能有且只能有一個人投票同意;
4、邏輯非:某個人要反對,但是通過邏輯非,使其反對無效;
“與”和“或”有兩種不同形式運算符的原因是它們運算的優先級(就是運算的有限順序,比如我們小學的時候學習四則運算,加減乘除混合在一起啦,優先計算乘除,再計算加減)不同。
任務
我來試一試:大家來投票吧!
我們假設有A、B、C、D進行了投票,然后我們用邏輯運算符,來判定他們的投票是否能通過某些協議。在右邊編輯器中輸入六條指令,分別是第7行,第9行,第11行,第13行,第15行,第17行,如下圖所示:(點擊看大圖)
其中第7行,第9行,第11行需要括號括起來,因為這三個邏輯運算符的優先級沒有三元運算符高。運行結果如下:

七、PHP中的字符串連接運算符
字符串連接運算符是為了將兩個字符串進行連接,PHP中提供的字符串連接運算符有:
(1)連接運算符(“.”):它返回將右參數附加到左參數后面所得的字符串。
(2)連接賦值運算符(“.=”):它將右邊參數附加到左邊的參數后。
任務
兩種連接運算符區別在哪呢?
在右邊編輯器中輸入三條指令,
1、在第3行輸入第一條指令“$tip = $a.",歡迎您在慕課網學習PHP!";”
2、在第6行輸入第二條指令“$b .= ",道是無晴卻有晴";”
3、在第9行輸入第三條指令“$c = $c.",道是無晴卻有晴";”
如下圖所示:
從運行結果中:
我們可以看出連接賦值運算符在連接字符串的基礎上,還有賦值功能。此外,第6行的指令與第9行的指令效果相同,但前者代碼更簡潔。
八、PHP中的錯誤控制運算符
PHP中提供了一個錯誤控制運算符“@”,對于一些可能會在運行過程中出錯的表達式時,我們不希望出錯的時候給客戶顯示錯誤信息,這樣對用戶不友好。于是,可以將@放置在一個PHP表達式之前,該表達式可能產生的任何錯誤信息都被忽略掉;
如果激活了track_error(這個玩意在php.ini中設置)特性,表達式所產生的任何錯誤信息都被存放在變量$php_errormsg中,此變量在每次出錯時都會被覆蓋,所以如果想用它的話必須盡早檢查。
需要注意的是:錯誤控制前綴“@”不會屏蔽解析錯誤的信息,不能把它放在函數或類的定義之前,也不能用于條件結構例如if和foreach等。
任務
看看錯誤控制運算符的效果吧!
在右邊編輯器的第2行輸入一條指令“$conn = @mysql_connect("localhost","username","password");”,如圖所示:
在右邊編輯器的第2行輸入一條指令“$conn = @mysql_connect("localhost","username","password");”,如圖所示:

取模算術符有啥用呢?
假設我們要在一個考場安排了一場考試,對考生從1開始,都進行了編號,那么怎么讓服務器幫助我們計算考生在的位置呢,進而打印考場的考生對照表呢?在右邊編輯器里輸入兩條指令,如圖所示:
任務
我來試一試:
1、在第5行輸入第一條指令,用于計算在第幾排。
$line = ceil($no/$maxLine);
2、在第6行輸入第二條指令,使用取模算術符計算所在位置。
$row = $no%$maxLine?$no%$maxLine:$maxLine;
運行結果如下:


轉載于:https://www.cnblogs.com/zhanghaiyang/p/7212830.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/260328.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260328.shtml
英文地址,請注明出處:http://en.pswp.cn/news/260328.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

百度時間顯示_文章的發布時間對百度優化網站重要嗎

文章的發布時間對百度優化網站重要嗎?這個問題,相信很多初做網站優化的萌新朋友都會問到,以小匠個人的經歷來分享這個問題的經驗,小匠認為,文章的發布時間對優化網站是非常重要的,下面小匠將從實際經歷來給…

循環鏈表解決約瑟夫環問題

約瑟夫環問題可以簡單的使用數組的方式實現,但是現在我使用循環鏈表的方法來實現,因為上午看到一道面試題規定使用循環鏈表解決約瑟夫環問題。 什么是約瑟夫環? “約瑟夫環是一個數學的應用問題:已知n個人(以編號1&…

java 什么時候進行垃圾回收_java什么時候進行垃圾回收,垃圾回收的執行流程

java的垃圾回收分為三個區域新生代 老年代 永久代一個對象實例化時 先去看伊甸園有沒有足夠的空間如果有 不進行垃圾回收 ,對象直接在伊甸園存儲.如果伊甸園內存已滿,會進行一次minor gc然后再進行判斷伊甸園中的內存是否足夠如果不足 則去看存活區的內存是否足夠.如果內存足夠…

常用的webservice接口

商業和貿易: 1、股票行情數據 WEB 服務(支持香港、深圳、上海基金、債券和股票;支持多股票同時查詢) Endpoint: http://webservice.webxml.com.cn/WebServices/StockInfoWS.asmx Disco: http://webservice.webxml.com.cn/WebServ…

基于HTML5 Canvas 實現矢量工控風機葉輪旋轉

之前在拓撲上的應用都是些靜態的圖元,今天我們將在拓撲上設計一個會動的圖元——葉輪旋轉。 先看看最后我們實現的效果:http://www.hightopo.com/demo/fan/index.html 我們先來看下這個葉輪模型長什么樣 從模型上看,這個葉輪模型有三個葉片&a…

java 并發模型總類_java并發編程系列-內存模型基礎

java線程之間的通信對程序開發人員是完全透明的,內存的可見性問題很容易困擾很多開發人員。本篇博文將揭開java內存模型的神秘面紗,來看看內存模型到底是怎樣的。并發編程模型的分類并發編程中需要處理的兩個關鍵問題:線程之間如何通信線程之…

python調用java的jar包_python調用java的jar包報錯127

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓最近在弄python需要調用到Java的jar包,按照網上的教程走,最后總是報錯No matching overloads found for [init in find. at native\common\jp_method.cpp:127Java:package aes;import com.sun.cr…

iphone、Android接收System.Net.Mail發的郵件標題亂碼

參考地址:http://blog.csdn.net/whowhen21/article/details/5959225 在做項目時候,用到.Net的System.Net.Mail發送郵件,經測試,發現如果標題過長,收到的就會是亂碼了(那種Base64格式的數據),幾經測試&#…

數據倉庫與數據挖掘的一些基本概念

下面內容摘自互聯網并作了整理。 名詞: BI(Business Intelligence):商業智能, DW(Data Warehouse):數據倉庫,詳見正文Q1部分。 OLTP(On-Line Transaction Processing):聯機事務處理 也稱為面向交易的處理系…

ATS讀小文件(內存命中)

一個資源根據其大小可能會存在多個存儲對象中。如果足夠小(連同doc結構的大小小于一個fragment的size),連同這個資源的meta信息一起存儲在一個doc中。如果比較大,第一個存儲對象保存資源的meta信息,后面跟著若干個frag…

python 加密解密_python加密解密

EncodeFile(python2.7加密)# -*- coding: utf8 -*-import base64import sysreload(sys)sys.setdefaultencoding(utf8)inFilesys.argv[1]try:fin open(inFile, "rb")fout open(inFile".txt", "w")base64.encode(fin, fout)passexcept Exception…

java double 兩位_java double 保留兩位小數

java保留兩位小數問題:方式一:四舍五入double f 111231.5585;BigDecimal b new BigDecimal(f);double f1 b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();保留兩位小數---------------------------------------------…

fatal error C1902: 程序數據庫管理器不匹配;請檢查安裝解決

終于找到原因了,原來是我安裝的字體渲染,并且采用注冊表的加載方式!改掉就好了!上天哪,這是怎么影響到的 卸載MacType程序后,進行嘗試! VS2008 和 VS2010 又能用了! 我想求教育。。。…

一分鐘明確 VS manifest 原理

什么是vs 程序的manifest文件 manifest 是VS程序用來標明所依賴的side-by-side組建,如ATL, CRT等的清單。 為什么要有manifest文件 一臺pc上,用一組建往往會有不止一個版本號(c:/windows/winsxs或系統文件夾下),程序在載入的時候&…

[譯]多線程網絡服務模型

2019獨角獸企業重金招聘Python工程師標準>>> 多線程網絡服務模型 /*** 謹獻給Yoyo** 原文出處&#xff1a;https://www.toptal.com/software/guide-to-multi-processing-network-server-models* author dogstar.huang <chanzonghuanggmail.com> 2016-04-02*/作…

likely(x)與unlikely(x)函數,即__builtin_expect的使用

轉載自&#xff1a;http://velep.com/archives/795.html 本文講的likely()和unlikely()兩個宏&#xff0c;在linux內核代碼和一些應用中可常見到它們的身影。實質上&#xff0c;這兩個宏是關于GCC編譯器內置宏__builtin_expect的使用。顧名思義&#xff0c;likely()指“很有可能…

java mvc引擎_SpringMvc+JavaConfig+Idea 搭建項目

1.介紹之前搭建SpringMvc項目要配置一系列的配置文件&#xff0c;比如web.xml,applicationContext.xml,dispatcher.xml。Spring 3.X之后推出了基于JavaConfig方式以及注解的形式的配置。在一定程度上簡化了Spring項目的配置。近幾年特別火的SpringBoot&#xff0c;大大的簡化了…

window.parent和window.opener區別

下面一段代碼是關于window.parent和window.opener區別 來講的&#xff0c;我們如果要用到iframe的值傳到另一框架就要用到window.opener.document.getElementById(name).value uvalue;這種形式哦。 window.parent能獲取一個框架的父窗口或父框架。頂層窗口的parent引用的是它本…

極域電子書包課堂管理系統_【君蓮微訊】君蓮學校(小學部)開展電子書包第13共同體數學研討活動...

借 助 媒 體 技 術豐 富 圖 形 認 識君蓮學校(小學部)開展電子書包共同體 數學研討活動 2020年12月2日下午&#xff0c;君蓮學校(小學部)開展了以“借助媒體技術 豐富圖形認識”為主題的閔行區電子書包第13共同體的數學研討活動。共同體學校教師代表、學校電子書包項目組主管朱…

python批量改動指定文件夾文件名稱

這小樣例僅僅要是說明用python怎么批量改動指定文件夾的文件名稱&#xff1a; 記得要把腳本跟改動的文件放在同一個文件夾下 #encoding:utf-8 import os import sys files os.listdir(D:\\1) #路徑能夠自己for name in files:a os.path.splitext(name)if a[1] .txt: #txt能夠…