一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

PHP學習之字符串比較和查找

1. 字符串比較
php中,可以用==(雙等號)或者 ===(三等號)來比較字符串。兩者的區別是雙等號不比較類型,三等號會比較類型,它不轉換類型;用雙等號進行比較時,如果等號左右兩邊有數字類型的值,剛會把另一個值轉化為數字,然后進行比較。這樣的話,如果是純字符串或者NULL時,會轉化為0進行比較。同樣,大小于號也和等號一樣,比較時可能出現不正確的結果。
所以,比較字符串可以用php的自帶函數strcmp和strcasecmp。其中strcasecmp是strcmp的變種,它會先把字符串轉化為小寫再進行比較。 如下代碼:
復制代碼 代碼如下:
var_dump(0 == 'Test');
var_dump(0 == '');
var_dump(5 > 'T');
var_dump(strcmp(5, 'T'));

結果為(第1~3結果是不對的,只有第4個是對的):
復制代碼 代碼如下:
bool(true)
bool(true)
bool(true)
int(-1)

2. 字符串處理
1. 子串
$sub = substr(string, start[, length]);
2. 子串替換
$newstring = substr_replace(string, new, start[, length]);
用這個函數可以實現字符串的插入,刪除操作。這個函數的start和length可以為負數。分別表示從后開始計算以及保留最后幾位不替換。 3. 字符串反序
$newstring = strrev(string);
4. 重復字符串
$newstring = str_repeat(string, count);
返回一個重復count次string的新字符串。
5. 填充字符串
$newstring = str_pad(to_pad, length[, with[, type]]);
其中type有:STR_PAD_RIGHT(默認)、STR_PAD_LEFT和STR_PAD_BOTH三種;with默認為空格。函數表示把to_pad字符串用with填充為一個長度為length的字符串。 如下代碼:
復制代碼 代碼如下:
// 子串
var_dump(substr('1234567890', 8)); // 90
var_dump(substr('1234567890', 0, 2)); // 12
// 反方向子串
var_dump(substr('1234567890', -8)); // 34567890
var_dump(substr('1234567890', -8, -2)); // 345678
var_dump(substr('1234567890', -8, 2)); // 34
// 插入
var_dump(substr_replace('1234567890', 'a', 0, 0)); // a1234567890
// 刪除
var_dump(substr_replace('1234567890', '', 8)); // 12345678
// 反方向刪除
var_dump(substr_replace('1234567890', '', -2, -1)); // 123456780
// 替換
var_dump(substr_replace('1234567890', 'a', 0, 1)); // a234567890
// 反方向替換
var_dump(substr_replace('1234567890', 'a', -2, -1)); // 12345678a0
// 字符串反轉
var_dump(strrev('1234567890')); // 0987654321
// 重復字符串
var_dump(str_repeat('12', 3)); // 121212
// 填充字符串
var_dump(str_pad('a', 10, '12')); // a121212121
var_dump(str_pad('a', 10, '12', STR_PAD_LEFT)); // 121212121a
var_dump(str_pad('a', 10, '12', STR_PAD_BOTH)); // 1212a12121

3. 分解字符串
php中,字符串的分解用explode,合并用implode(join是implode的別名),標記用strtok。還有另一個函數slipt也可以分解(正則分解),但5.3以后版本已經不推介了。 另外php中還有一個sscanf()函數,用于讀取字符串。
strtok標記時,用strtok($str, $token)來初始化,用strtok($token)來繼續取值。
代碼如下:
復制代碼 代碼如下:
$str = '1,2,3';
$arr1 = explode(',', $str); // array('1', '2', '3')
$arr2 = explode(',', $str, 2); // array('1', '2,3')
$str1 = implode(',', $arr1); // '1,2,3'
$str2 = strtok($str, ','); // 1
$str3 = strtok(','); // 2
$str4 = strtok(','); // 3
// array(86, 10, 88888888, 'Beijin')
$arr3 = sscanf('+86(10)88888888 Beijin', '+%d(%d)%d %s');

4.字符串查找
php中,字符串的查找有三個系列。返回位置的、返回字符串的、掩碼個數匹配。其中,返回位置的的函數一共有兩個,strpos()和 strrpos();返回字符串的也有兩個strstr()和strchr();返回掩碼匹配數的函數有strspn()和strcspn()。
strpos表示從左邊開始計數,返回要查找的字符串第一次出現的位置;strrpos表示從右邊計數,返回要查找的字符串第一次出現的位置。
strstr表示從左邊計數,返回要查找字符串第一次到結尾的子串(包括查找字符串),當查找的是字符時,可以用ascii碼數字來表示字符;stristr表示不區分大小查找;strchr是strstr的別名;strrchr返回字符最后出現到結尾的子串。
strspn表示從左邊計數,第一次出現非掩碼之前的子串的字符數;strcspn表示從左邊計數,第一次出現掩碼之前的子串的字符數。
示例代碼:
復制代碼 代碼如下:
$pos = strpos('This a hello world program', ' '); // 4
$pos = strpos('This a hello world program', 32); // 4
$pos = strrpos('This a hello world program', ' '); // 18
$pos = strrpos('This a hello world program', 32); // 18
$str = strstr('This a hello world program', ' '); // " a hello world program"
$str = strstr('This a hello world program', 32); // " a hello world program"
$str = stristr('This a hello world program', ' A'); // "a hello world program"
$str = stristr('This a hello world program', 65); // "a hello world program"
$str = strrchr('This a hello world program', ' '); // " program"
$str = strrchr('This a hello world program', 32); // " program"
$str1 = "12345 12345 12345";
$len = strspn($str1, '12345'); // 5
$len = strcspn($str1, ' '); // 5

參考資料: php程序設計,2003,第四章 字符串,字符串比較;字符串查找和處理

php技術PHP學習之字符串比較和查找,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 日韩中文字幕久久久经典网 | 国内精品一区视频在线播放 | 日本精品中文字幕在线播放 | 九九视频免费精品视频免费 | 国产91久久最新观看地址 | 五月四房| 青青草色久综合网 | 思思久久q6热在精品国产 | 日本一区二区高清免费不卡 | 欧美黄色片在线观看 | 好爽毛片一区二区三区四区 | 麻豆一区区三三四区产品麻豆 | 一区二区三区网站在线免费线观看 | 日本精品视频一区二区三区 | 看全色黄大色黄大片视频 | 欧美第一页 | 巨大巨粗巨长的黑吊免费视频 | 久久91精品久久91综合 | 久久99国产亚洲精品 | 国产精品免费观看视频 | 婷婷六月丁 | 色视频免费观看高清完整 | 日本一区二区成人教育 | 亚洲精品图区 | 日韩欧美一区二区三区中文精品 | 午夜在线观看视频在线播放版 | 午夜视频在线免费播放 | 自拍 欧美 日韩 | 色综合色狠狠天天久久婷婷基地 | 亚洲欧美日韩国产精品第不页 | 99亚洲精品 | 欧美 亚洲 综合 卡通 另类 区 | 91蜜桃传媒一二三区 | 五月婷婷之综合激情 | 久久91亚洲精品中文字幕 | 91久久国产综合精品女同国语 | 久久国产成人精品国产成人亚洲 | 亚洲黄色高清视频 | 亚洲国产成人资源在线软件 | 免费人成综合在线视频 | 97影院秋霞国产精品 |