*************字符串的引入********************
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,期待您的关注。

PHPSession失效的原因包括配置錯誤、Cookie問題和Session過期。 1.配置錯誤:檢查並設置正確的session.save_path。 2.Cookie問題:確保Cookie設置正確。 3.Session過期:調整session.gc_maxlifetime值以延長會話時間。

在PHP中調試會話問題的方法包括:1.檢查會話是否正確啟動;2.驗證會話ID的傳遞;3.檢查會話數據的存儲和讀取;4.查看服務器配置。通過輸出會話ID和數據、查看會話文件內容等方法,可以有效診斷和解決會話相關的問題。

多次調用session_start()會導致警告信息和可能的數據覆蓋。 1)PHP會發出警告,提示session已啟動。 2)可能導致session數據意外覆蓋。 3)使用session_status()檢查session狀態,避免重複調用。

在PHP中配置會話生命週期可以通過設置session.gc_maxlifetime和session.cookie_lifetime來實現。 1)session.gc_maxlifetime控制服務器端會話數據的存活時間,2)session.cookie_lifetime控制客戶端cookie的生命週期,設置為0時cookie在瀏覽器關閉時過期。

使用數據庫存儲會話的主要優勢包括持久性、可擴展性和安全性。 1.持久性:即使服務器重啟,會話數據也能保持不變。 2.可擴展性:適用於分佈式系統,確保會話數據在多服務器間同步。 3.安全性:數據庫提供加密存儲,保護敏感信息。

在PHP中實現自定義會話處理可以通過實現SessionHandlerInterface接口來完成。具體步驟包括:1)創建實現SessionHandlerInterface的類,如CustomSessionHandler;2)重寫接口中的方法(如open,close,read,write,destroy,gc)來定義會話數據的生命週期和存儲方式;3)在PHP腳本中註冊自定義會話處理器並啟動會話。這樣可以將數據存儲在MySQL、Redis等介質中,提升性能、安全性和可擴展性。

SessionID是網絡應用程序中用來跟踪用戶會話狀態的機制。 1.它是一個隨機生成的字符串,用於在用戶與服務器之間的多次交互中保持用戶的身份信息。 2.服務器生成並通過cookie或URL參數發送給客戶端,幫助在用戶的多次請求中識別和關聯這些請求。 3.生成通常使用隨機算法保證唯一性和不可預測性。 4.在實際開發中,可以使用內存數據庫如Redis來存儲session數據,提升性能和安全性。

在無狀態環境如API中管理會話可以通過使用JWT或cookies來實現。 1.JWT適合無狀態和可擴展性,但大數據時體積大。 2.Cookies更傳統且易實現,但需謹慎配置以確保安全性。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Linux新版
SublimeText3 Linux最新版

記事本++7.3.1
好用且免費的程式碼編輯器

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中