1. 程式人生 > >【2014】【辛星】【php】【秋季】【4】字串和註釋以及簡單的變數運算

【2014】【辛星】【php】【秋季】【4】字串和註釋以及簡單的變數運算

*************字串的引入********************

1.我們上一節中介紹的四種基本資料型別還有一個字串沒有介紹,那麼我們來認識一下什麼是字串。

2.所謂字串,就是一串字元,那麼什麼是字元呢?

3.所謂字元,就是指我們使用的字母、數字、字和符號,比如1、2、A、B、~、!、#等等都是一個字元。

4.在很多其他程式語言中,有字元(char)和字串(string)兩種資料型別,但是咱們PHP是分的比較簡單的,它的哲學就是認為:字元就是長度為1的字串,因此也就不區分字元和字串。

************字串的表示**********************

1.字串用英文單詞string來表示。

2.一個字串的取值我們其實已經用過了,就是用單引號或者雙引號括起來的那部分,比如“辛星”,比如‘小倩’.

3.對於字串的變數,依然可以用echo 來輸出它們。

4.下面我們就新建一個xin9.php,輸入如下內容:

<span style="font-family:KaiTi_GB2312;font-size:18px;"><?php
$msg = '辛星';
echo $msg;
echo "<br />";
$msg = "小倩";
echo $msg;
</span>

5.然後我們開啟瀏覽器檢視結果,發現效果如下:

6.注意我們這裡第一次使用的是單引號,第二次使用的是雙引號,他們在很多時候表示的資訊是一樣的。

**************單引號和雙引號的區別*****************

1.可能有人會問:用單引號和雙引號表示的字串有區別嗎?答案是有的。

2.我們新建一個xin10.php檔案,輸入程式碼如下:

<?php
$xin = "辛星";
echo "首先使用單引號";
echo "<br />";
echo '$xin';
echo "<br />";
echo "然後使用雙引號";
echo "<br />";
echo "$xin";

3.然後我們到瀏覽器執行一下,看看效果:

4.這裡我們會發現,我們使用單引號的時候,單引號裡面是什麼就輸出什麼,因為它比較直接嘛,但是雙引號就需要解析一下了,它會把裡面的變數給我們解析為相應的數值,比如我們這裡的$xin給解析成“辛星”這個字串。

5.其實我們用一個帶語法高亮的文字編輯器去寫程式碼的時候才會發現出來一些不同,比如我使用的是sublime text2,下面的截圖:

6.我們也發現他們是有不同的顏色的,根據顏色的不同,我們就能在寫程式碼的時候來判斷它們表示什麼意思了。

**************字符集*********************************

1.有時候,我們會遇到這種情況,一般我們稱之為“亂碼問題”,看我截圖:

2.這個時候,我們需要設定它的編碼了,我們可以在php檔案裡面用header函式設定,但是我們還沒學函式,我們直接設定瀏覽器的編碼,不同的瀏覽器可能設定方式會有所不同,以我的瀏覽器為例吧,看我操作:

3.我們設定完畢字符集之後,一切資訊就都顯示正常了:

****************註釋的引入**********************

1.註釋這個概念很早就有了,至少在我出生之前就有了。

2.它的作用就是給我們看的,PHP解析器不會去解析註釋裡面的內容。

3.註釋可以理解為一把保護傘,不管外面下多大雨,我們在傘下都不會受到任何的干擾。

4.註釋裡面也可以寫程式碼,但是這裡面的程式碼也會被PHP解析器忽略,無法得到解析。

5.那麼,我們該怎麼寫註釋呢?

**************註釋的使用********************

1.註釋可以分為單行註釋和多行註釋。

2.所謂單行註釋,就是這一行被當做註釋。

3.#之後的內容會被當做註釋,這就是shell風格的註釋,所謂shell風格,就是Linux下的指令碼,這一點和Python很像,也就是說,在一行裡面,只要碰到了#,它直到這一行的結束,都會被當成註釋,PHP無法解析的。

4.//之後的內容也會被當成註釋,這就是C++風格的註釋,因為C++最先使用這種風格的,只要在某一行裡遇到了兩個斜線,它後面直到這一行的結束,這中間的內容就不會被解析了。

5.上面這兩種都是單行註釋,只對一行起作用,如果我們想註釋多行的話,必須使用C語言風格的註釋,那就是使用/*作為註釋的開頭,使用*/作為註釋的結尾,這中間的內容會被當做註釋。

6.我們新建一個xin11.php,程式碼如下:

<?php
#據說井號後面的內容可以隨便寫

echo "我是辛星";#這裡的也是註釋
echo "<br />";
echo "永愛小倩";//雙斜線就是典型的c++風格了

//echo  "我是小倩";

/*
這是典型的C語言風格的註釋
*/

echo "<br />";
echo "辛星PHP,期待您的關注";

7.我們首先分析一下上面的程式碼吧,我們程式碼的第二行從開頭就使用了註釋,因此第二行不會被解析,第四行首先是一個echo語句,然後出現了一個#,那麼它後面的內容也就成了註釋,不會被解析了。

8.然後第五行輸出一個換行,第六行首先輸出一個字串,然後由於使用了雙斜線,因此也成了註釋,無法得到解析。

9.然後第八行中在註釋中寫了一個echo語句,由於是寫到註釋中的,無法得到執行。第十行到第十二行這三行是一個C語言風格的註釋,用/*開頭,用*/結尾。

10.第十四行輸出一個換行,第十五行輸出一段文字。

11.我們看下最終的效果吧:

******************運算子****************

1.我們前面學習了變數,但是並未體現出變數的價值,我們對一個變數進行簡單的賦值、檢視它的值,這個功能還是太弱了。

2.我們引入運算子之後,功能就一下子變強了。

3.PHP中的運算子還是蠻多的,PHP手冊中分為11類,這裡我們先學習幾個比較常用的吧。

****************算術運算子************

1.算術運算子主要分為+、-、*、/、%這五個,分別是加減乘除和取模。

2.我們的運算會產生一個結果,這個結果可以賦值給一個變數,比如我們使用$a = 4 + 5;這時的$a的值就是9了。
3.當然,上面我們使用的是兩個具體的數值做的運算,其實也可以使用兩個變數或者一個是變數一個是具體數。

4.比如$a = $b + 2;和$a = $c + $d;都是正確的算術運算。

5.我們先寫一個xin12.php如下:

<?php
$a = 22;
$b = 33;
//把變數$a和變數$b相加
$c = $a + $b;
echo "相加之後的結果:";
echo $c;

echo "<br />";//輸出一個換行

$d = $c + 2;
echo "結果加2之後得到的結果:";
echo $d;

6.然後我們看到的執行結果如下:


***************除法精講********************

1.除法之所以複雜,就是因為各個程式語言之間也支援的不一樣,有的程式語言兩個整數相除,得到的還是整數,比如Java,有的程式語言,就是小數,比如咱們的PHP。

2.比如我們新建一個xin13.php,寫入下面程式碼:

<?php
$m = 22;
$n = 3;
$d = $m / $n ;
//輸出的是整數還是小數呢?
echo $d;

3.上述程式碼的功能還是蠻簡單的,它就是把$m和$n相除,然後得到的結果給輸出出來,我們看一下它輸出的是神馬玩意:

*******************取模運算******************

1.我第一次接觸取模是在我高中數學競賽的時候,取模確實是一門高深的學問,有很多的公式定理。

2.取模簡單來說,就是取餘數,它的運算子是百分號,即%.

3.比如求22模3是多少,因為22/3=7....1,所以最後的結果就是1.

4.我們例項操作一下,看下面程式碼:

<?php
$m = 35;
$n = 3;
$d = $m % $n ;
echo $d;

5.然後我們看一下它的執行效果:

6.好像沒有問題,但是我問你一下,-5.1模2.1是多少呢?可能有些人就蒙掉了,這怎麼取模?

7.其實是可以取的,只需要把握兩點就可以了:第一點就是取模運算之前首先會把小數變成整數,它這個方式就是直接去掉去掉小數部分,保留整數部分,第二點就是運算得到的結果總是和被除數的正負號相同,看下面例子:

<?php
$m = -5.1;
$n = 2.1;
$d = $m % $n ;
echo $d;

8.然後它的輸出結果是這樣子滴:

9.運算過程是這樣子的:首先對資料進行處理,把-5.1變成-5,把2.1變成2,然後運算,得到的商是-2,餘數是-1,因此結果就是-1了。

******************說明***************************

1.可能大家也看到了,PHP對計算上支援的並不好,首先是它的弱資料型別,雖然很方便,但是不適合搞演算法。

2.然後資料型別的數量偏少,不能進行靈活的控制。

3.還有就是它的計算速度,作為一個指令碼語言,還是太慢了。

4.因此,PHP語言不適合搞演算法,事實上我也沒見過有誰會放棄c和cpp或者Java和Pascal,然後採用PHP搞演算法。

5.因此,我們不必太重視它的資料計算這一塊,這也不是它的強項,大家也不用在資料計算上太鑽牛角尖,因為這不是PHP的強項。

***************總結*************************

1.我們本小節學習了字串,知道了它的單引號和雙引號的表示方法。

2.然後學習了註釋的使用。

3.最後我們介紹了加減乘除四種運算子。

**************任務實戰*************************

1.假設我們有華東、華北、華南三個大區,每個大區都有二百二十名員工,我們還有西北、東北、西南三個小區,每個區有四十五名員工,請用程式設計的方式計算出本公司現有多少名員工。

2.答案效果圖:

3.參考程式碼:

<?php
$big = 3 * 220;//計算大區人數
$small = 3*45;//計算小區人數
$all = $big + $small;
echo "本公司人員總數:";
echo $all;

4.辛星PHP,期待您的關注。

相關推薦

2014php秋季4字串註釋以及簡單變數運算

*************字串的引入******************** 1.我們上一節中介紹的四種基本資料型別還有一個字串沒有介紹,那麼我們來認識一下什麼是字串。 2.所謂字串,就是一串字元,那麼什麼是字元呢? 3.所謂字元,就是指我們使用的字母、數字、字和符號,比如

模板前向 SPFA求最短(長)路

代碼 poj ostream name 兩個 col spfa ron esp 之前一個改自別人的模板竟然在一道題上TLE了,而代碼也實在醜陋,網上找得到的模板也大多跑得慢(vector存圖)或代碼醜陋、殘疾(無初始化函數的模板能叫模板嗎?),索性自己重新寫了一個。 題是P

2018百度之資格賽 A 問卷調查 - 位運算&動規

blog 題目 相同 clas 方程 數組 cstring div col 題目地址:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=820&pid=1001 參考博客:在此感謝ht

2018百度之初賽(A)1002 度度熊學隊列

std php begin include push_back targe ref 使用 sin 題目地址:http://acm.hdu.edu.cn/showproblem.php?pid=6375 Knowledge Point:   STL - map:ht

CSDN部落格之2013年CSDN部落格之正在評選,希望大家支援投票,非常感謝

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

資訊科技2014.01智慧交通監控中運動目標檢測與跟蹤方法研究

本文為日本大學(作者:XiaofengLU)的博士論文,共143頁。 視訊監控已成為近年來影象處理和計算機視覺技術的一個重要研究領域,它嘗試從影象序列中檢測、識別、跟蹤某些物體,並瞭解、描述目標的行為。視訊交通監控系統為智慧交通系統(ITS)的交通控制和管理提供最有效的交通訊息,為

資料結構鏈式前向

第一次接觸鏈式前向星是在學習圖論的迪傑斯特拉演算法時,大佬們紛紛用鏈式前向星+堆優化+迪傑斯特拉解題,秀的我萌新懵的一批,當時不知道啥是鏈式前向星,不過隨著越來越深入,這種結構見得越來越多,慢慢的就明白了。 在儲存一個圖時,我們經常用的應該是矩陣,不過他比較浪費空間,尤其是稀疏圖,點又多,空間經

2014.10神經網路中的深度學習綜述

本綜述的主要內容包括: 神經網路中的深度學習簡介 神經網路中面向事件的啟用擴充套件表示法 信貸分配路徑(CAPs)的深度及其相關問題 深度學習的研究主題 有監督神經網路/來自無監督神經網路的幫助 FNN與RNN中用於強化學習RL

電信學2014.05MIMO無線環境中的通道估計

本文為美國國家技術學院(作者:Khatendra Yadav)的碩士論文,共48頁。 近年來,對提高通道容量的需求越來越大,吸引了研究人員向這個方向努力,MIMO無線通訊系統的研究就是其中一個重要方向。研究人員在無線通訊中提出了各種改進通道容量的演算法。然而,為了提高通道容量,我們可能

夜空中明亮的的專欄Algorithm_C#_GIS

專欄達人 授予成功建立個人部落格專欄

讀書22014基於MATLAB的雷達訊號處理基礎(第二版)——接收機(3)

圖1.9指出了對高質量接收機設計的幾個要求。 Figure 1.9 implies several requirements ona high-quality receiver design. 例如,本地振盪器與發射機頻率必須是相同的。 For example, the loca

讀書22014基於MATLAB的雷達訊號處理基礎(第二版)——接收機(2)

圖1.10對該問題進行了描述。 Figure 1.10 illustrates the problem. 圖1.10 (a)圖1.9中接收機的I通道只測量相位θ(t) 的餘弦值;(b)Q通道只測量相位θ(t) 的正弦值。(a) The Ichannel of the recei

讀書22014基於MATLAB的雷達訊號處理基礎(第二版)——接收機(1)

1.3.3. 接收機 1.3.3. Receivers 第1.3.1節指出,雷達訊號通常是窄帶、帶通的相位調製或頻率調製訊號。 It was shown in Sec. 1.3.1that radar signals are usually narrowband, bandpas

讀書22014基於MATLAB的雷達訊號處理基礎(第二版)——天線(5)

第n個陣元的訊號複數加權權值為an。 The signal in branch n is weighted with thecomplex weight an . 若參考陣元接收到的電場強度為E0exp(jΩt),那麼整個陣列接收的總電壓E為 For an incoming el

讀書22014基於MATLAB的雷達訊號處理基礎(第二版)——信幹比與積累(1)

Es與A之間的比例關係與訊號的形狀有關。 Theproportionality between Es and A depends on the signal shape. 對於幅度為A、持續N個取樣的矩形脈衝或復指數訊號,則Es = N · A2。 For a rectan

讀書22014基於MATLAB的雷達訊號處理基礎(第二版)——解析度(1)

圖1.14以頻率為例描述了解析度的概念。 Figure 1.14 illustrates the concept ofresolution, in this case in frequency. Figure 1.14. 頻率上兩個正弦波的解析度,每個正弦波的瑞利頻率寬度為10

10款Github上最火爆的國產開源專案2014

衡量一個開源產品好不好,看看產品在Github的Star數量就知道了。由此可見,Github已經淪落為開源產品的“大眾點評”了。 一個開源產品希望快速的被開發者知道、快速的獲取反饋,放到Github上面就可以了。 Github上有無數大牌產品:Bootstrap、JQeur

讀書22014基於MATLAB的雷達訊號處理基礎(第二版)——訊號調理與干擾抑制(1)

空時自適應濾波(STAP)結合角度和多普勒域的自適應波束形成,同時實現雜波和干擾的抑制。 Space-time adaptive filtering (STAP)combines adaptive beamforming in both angle and Doppler for sim

讀書22014基於MATLAB的雷達訊號處理基礎(第二版)——本質現象(1)

例如,在所有其它條件都相同的情況下,如果發射更大的功率,則接收到的回波訊號更強。 For example, if more power is transmitted amore powerful received echo is expected, all other things be

雷達與對抗2014.04收發共址MIMO雷達:發射波束形成、波形設計與目標引數估計

本文為沙特阿卜杜拉國王科技大學(作者:Seifallah Jardak)的碩士論文,共75頁。 由於多輸入多輸出(MIMO)雷達效能的提高,引起了研究者和工程師的廣泛關注。由於MIMO雷達發射正交或部分相關的波形,這種新興技術通過提供更好的引數可識別性、獲得更高的空間解析度、能夠設計複