日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

php7 数组与字符串,第7天 PHP字符串、数组

發布時間:2023/11/27 生活经验 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php7 数组与字符串,第7天 PHP字符串、数组 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

11. 字符串詳解

11.1. 4種不同形式的字符串

11.1.1. 單引號字符串

形式: $s1 = ‘字符串內容’

特點:

只能使用2個轉義符: \n \t ‘ “ \(代表一個反斜杠) \’(代表一個單引號)

通常,如果沒有其他特殊需求(比如字符串中使用一些轉義符,以及一些變量),則推薦使用單引號字符串。!不能解析變量

11.1.2. 雙引號字符串

形式: $s1 = “字符串內容”

特點:

1,能使用較為豐富的轉義符,包括:\\ \” \n \r \t \$等

\n :代表“換行符”(就是一個新行)

\r :代表“回車符”(其實也是一個新行)

\t :代表“tab符”,

$v1 = 10;

echo “結果為:$v1”; //輸出內容為: 結果為:10

echo “結果為:\$v1”; //輸出內容為: 結果為:$v1

image.png

1、單引號不能解析變量,雙引號能夠解析變量(變量不要加引號解析)

2、使用{}代替字符串和變量連接

image.png

1.1.3. heredoc字符串

形式:$s1 = <<

這里寫字符內容,可以多行寫

標識符;

特點:

1,特點跟雙引號字符串一樣!

注意:

標識符結束那一行,只能出現標識符及緊挨著的分號,任何其他字符都不可以出現。

image.png

11.1.4. nowdoc字符串

形式:$s1 = <<

這里寫字符內容,可以多行寫

標識符;

特點:無特點,是最“純凈”的字符串,寫什么就是什么。

heredoc字符串,和nowdoc字符串,適用于表達(描述)一大段內容的字符串,特別是適合于寫html部分的代碼(含js,css等)。

如下:

image.png

11.2. 字符串的長度問題

字符串的長度問題,有兩個方面的理解:

1,一個字符串有幾個字符(人可見到的字符個數);

2,一個字符串占據多少個字節空間(人不可見);

幾個常識:

a,1字節(B)就是8個bit位(最小的存儲空間),1KB=1024B,1MB=1024KB,1GB=1024MB。。

b,一個英文字符占據1字節空間,gbk編碼中1個漢字占據2個字節,utf8編碼1個漢字占3字節。

求php字符串的長度,,有兩個函數:

strlen(字符串):

求該字符串的“字節數”,也就是占據的字節空間大小;

mb_strlen(字符串):

求該字符串的“字符個數”。

image.png

該模塊準確的位置如下:

image.png

使用phpinfo()函數沒有找到php_mbstring這個函數,原因是PHP配置文件沒有找到動態擴展庫的位置

image.png

更改配置文件中加載擴展庫的位置:

image.png

查看:

image.png

image.png

11.3. 常用字符串函數(重點)

·字符串輸出:

echo: 輸出一個或多個字符(不是函數,是語言結構)

print:輸出一個字符串

print_r:輸出變量的較為詳細的信息

var_dump:輸出變量的完整信息

·字符串去除與填充:

trim:消除一個字符串兩端的空白字符或指定字符(空白字符包括:空格,\n, \r, \t等)

ltrim:消除一個字符串左邊的空白字符或指定字符

rtrim:消除一個字符串右邊的空白字符或指定字符

str_pad:將一個字符串使用指定的字符填充到指定的長度

image.png

·字符串連接與分割:

implode:將一個數組的值連接起來組成一個字符串

join:同implode

explode: 將一個字符串使用指定的字符分割為一個數組

str_split:將一個字符串按指定的長度分割為一個數組

image.png

·字符串截取:

字符串的位置、下標是從0開始的

substr:獲取一個字符串中指定位置開始指定長度的子字符串

strstr:獲取一個字符串中某個指定字符首次出現的位置起,到最后結尾處的字符 strstr(‘abcd.12.3.txt’, ‘.’); //結果是:”.12.3.txt”

strrchr:獲取一個字符串中某個指定字符最后一次出現的位置起,到最后結尾處的字符 strrchr(‘abcd.12.3.txt’, ‘.’); //結果是:”.txt”

image.png

·字符串替換:

str_replace:將一個字符串中的指定字符,替換為給定的新字符。

image.png

image.png

substr_replace:將一個字符串中指定位置開始的指定個數的字符,替換為給定的新字符。

image.png

str_repeat: 重復輸出某個字符串

image.png

image.png

·字符串位置:

strpos:獲取一個字符串中某個子字符串首次出現的位置。 strpos(‘abcd.12.3.txt’, ‘.’); //結果是:4

strrpos:獲取一個字符串中某個子字符串最后一次出現的位置。

strrpos(‘abcd.12.3.txt’, ‘.’); //結果是:9

strrpos(‘abcd.12.3.txt’, ‘cd’); //結果是:2

image.png

·字符轉換:

strtolower:將一個字符串轉換為小寫。

strtoupper:將一個字符串轉換為大寫。

lcfirst:將一個字符串的首字母轉換為小寫。

ucfirst:將一個字符串的首字母轉換為大寫。

ucwords:將一個字符串中的所有單詞的首字母轉換大寫。

·特殊字符處理:

nl2br:將換行符轉換為”
”標簽字符

addslashes: 將一個字符串中的以下幾個字符使用反斜杠進行轉義:\ ‘ “

htmlspecialchars:將html中的特殊字符轉換為html實體字符,如下所示:

(& ‘ “ < > )分別轉換為:((& ' " < > )

htmlspecialchars_decode:將html實體字符,轉換回原本的字符。

image.png

案例:

取出如下若干個文件中的圖片文件。

$files = [‘abc.gif’, ‘123.txt’, ‘dir1/gift.PNG’, ‘file1.JPG’, ‘gif動畫制作教程.doc’ ];

image.png

12. 數組詳解

12.1. 數組的概念和定義

數組,是指將若干數據按一定的順序組合為一個整體。

每個數據被稱為一個“單元”——數組單元。

每個單元由兩部分構成:下標和值,下標也稱為“鍵”(key),

數組的一個重要特點是:其中的數據有明確的順序,而且,是其放入數組時的先后順序。

數組有如下幾種定義形式:

形式1:

$arr1 = array(單元1,單元2,...);

形式2:推薦

$arr2 = [單元1,單元2,...];

單元(元素)的形式為: [下標=>]值

形式3:(不推薦)

$arr3[下標1] = 值1;

$arr3[下標2] = 值2;

image.png

數據取值的語法形式:

$數組名[下標]; //其中,下標可以是整數的,也可以是字符串的(注意有引號)

image.png

訪問所有元素的值

image.png

12.2.數組的分類

按照下標進行分類:

索引數組:下標都是整數的為索引數組(下標可以不寫,默認是從0開始的,依次遞增)

關聯數組:下標都是字符串(字符串得加引號)

復合數組:下標既有整數,又有字符串(整數可以不寫,字符串必須加引號,整數默認從0開始)

按照維數進行分類:

一維數組:數組里面的元素都是單個元素

二維數組:數組里面的元素的值又是一個一維數組

多維數組:數組里面又是數組,數組又是數組

注意:

//print_r()第二參數不加,默認為false,直接輸出,如果加上true,直接把這個值保存起來不輸出,轉換成字符串

arr1,true);

echo $str;

12.21. 索引數組

通常是指一個數組的下標是從0開始的連續的整數。

舉例1:

$arr1 = array(5, 8, 12, 2, 3);

$arr2 = [8, 22, 24, 22, 12];

$arr3[ ] = 8;

$arr3[ ] = 24;

$arr3[ ] = 22;

image.png

12.2.2. 關聯數組

通常是指一個數組的下標都是字符串。

image.png

12.2.3. ** 混合數組**

下標既有字符串,也有整數

image.png

12.3. PHP數組的維數

按通常的數組元素的復雜程度,數組可以分為一維數組,二維數組,三維數組等等。

數組的元素的值可以重復,但是下標不能重復(下標具有唯一性), 如果重新給下標賦值,會覆蓋掉原有的值

一維數組:

數組的每一個單元的值都是一個“非數組”值。

$arr1 = array(11, 12, 13, 14);

二維數組:

數組的每個單元的值都是一個“一維數組”。

$arr2 = array(

array(11, 12, 13),

array(21, 22, 23),

.....

);

三維數組:

數組的每個單元的值都是一個“二維數組”。

多維數組:

依此類推。。。。

image.png

12.4. 數組的遍歷(重點)

12.4.1. 使用foreach語句遍歷數組

遍歷:就是對數組的每一項都“訪問”到并進行所需要的數據處理。

foreach( $數組名 as [$key =>] $value){

//這里,$key和$value只是變量,它會在遍歷數組的過程中,按順序依次取得數組每個單元的下標和值。

echo “
{$key} >>> {$value} “;

}

一維數組:

image.png

二維數組:

image.png

演示案例1:

輸出以下這個數組的每一項,求其平均值:

$arr1 = [11, 12, 13, 14];

image.png

演示案例2:

使用數組的遍歷語法,求以下這個數組的最大值及其下標!

$arr2 = [11, 18, 21, 14, 8];

方式一:

image.png

方式二:(選擇排序的思想)

假定一個值是最大值,循環出來的每一個值都跟最大值進行比較,如果大于最大值,此時給最大值重新賦予剛比較值,然后循環進行比較

image.png

12.4.2. 使用for循環語句遍歷數組

注意:for循環一般僅針對索引數組(下標為整數且連續)

一維索引數組遍歷:

image.png

二維索引數組遍歷:

image.png

數組的指針:每一個數組內部,都有一個“指針”,正常情況下,指針指向數組的某個單元,起初默認是指向第一個單元。

對于數組 $arr1 = array( 18, 22, 13, 28, 15, 33, );

初始狀態下,指針指向數組的第一個單元。

php中,有如下幾個函數,可以針對數組指針進行相應操作:

$re = current( $arr1); //取得數組中當前指針所在單元的值;

$re = key( $arr1 ); //取得數組中當前指針所在單元的鍵(下標);

$re = next( $arr1 ); //將數組中的指針往后移動一個位置,并取得新位置上的值;

$re = prev( $arr1 ); //將數組中的指針往前移動一個位置,并取得新位置上的值;

$re = end( $arr1 ); //將數組中的指針移動到最后一個位置,并取得新位置上的值;

$re = reset($arr1); //將數組中的指針移動到最前一個位置,并取得新位置上的值;

image.png

課堂練習:

請用for來遍歷如下數組,并按順序輸出其每一個單元的鍵和值:

$arr1 = array(‘a’, 2=>’b’, ‘c’, ‘x’=>’d’, ‘e’); //提示:count()函數可以求數組的長度

image.png

總結

以上是生活随笔為你收集整理的php7 数组与字符串,第7天 PHP字符串、数组的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。