php字串總結
阿新 • • 發佈:2018-12-07
php字串總結
<?php // 字串宣告 單引號 雙引號 heredoc(相當於雙引號) nowdoc(相當於單引號) // 雙引號可以解析變數和轉義字元 單引號效率高 // 不加引號預設是雙引號 heredoc echo <<< 'doc' 123 doc; echo "<br>"; // heredoc與其他字串的拼接 echo <<< 'DC' 123 DC .'A'; $_ab = ['id'=>1]; echo "<br>"; //如果字串裡有陣列變數要加上{} echo "123{$_ab['id']}".'<br>'; // 字串的增刪改查 通過索引 $_s = '12345'; $_s[5] = '6'; //新增 echo $_s.'<br>'; //123456 $_s[5] = ''; //刪除 echo $_s.'<br>'; //12345 $_s[0] = '0'; //修改 echo $_s.'<br>'; //02345 // 字串操作函式 $str = '123456789'; // 獲取子串 substr echo substr($str, 0,2).'<br>'; //12 echo substr($str, -2,2).'<br>'; //89 // 替換子串 substr_replace echo substr_replace($str, '0', 0,1).'<br>'; //023456789 替換 echo substr_replace($str, '', 0,1).'<br>'; //23456789 刪除 echo substr_replace($str, '0', 0,0).'<br>'; //0123456789 新增 // 查詢子串出現的次數 echo substr_count($str, '1',0,5).'<br>'; //1 // 比較字串 0:相等 >0:第一個子串大於第二個 <0:第一個小於第二個 // 第三個引數是 第一個字串開始比較的位置 echo substr_compare('1234',substr($str, 0,4) ,0).'<br>'; //0 // 查詢索引 strpos 第三個引數是從第幾個字元開始查詢 預設為 0 echo strpos($str, '2',1).'<br>'; // 1 // 查詢指定字元開始的剩下子串 true:顯示前面的 echo strstr($str, '2').'<br>'; // 23456789 echo strstr($str, '2',true).'<br>'; // 1 // 填充與替換 替換後的字串長度 替換內容 替換方式 echo str_pad($str, 20,'*',STR_PAD_RIGHT).'<hr>'; //123456789*********** //字元重複函式 echo str_repeat('ab',5).'<br>'; //ababababab // 隨機打亂字串 echo str_shuffle($str).'<br>'; //隨機打亂 // 字元替換函式 支援陣列多替換 echo str_replace('1','0',$str).'<br>'; // 023456789 1替換成0 $arr_1 = ['2','3','4']; $arr_2 = ['5','6','7']; //把2,3,4替換成5,6,7 echo str_replace($arr_1, $arr_2, $str).'<br>'; // 156756789 // 統計字元長度 echo strlen($str).'<br>'; // 9 不支援中文 echo mb_strlen($str).'<br>'; // 9 支援中文 echo mb_strwidth($str).'<br>'; // 9 將所有多位元組字元轉化為2個位元組處理 // 字串與陣列的轉化 $sity = '安徽省|合肥市|瑤海區|磨店鄉'; $arr = explode('|', $sity); print_r($arr); echo "<br>"; echo implode('|', $arr); echo "<br>"; // 字串轉換 // 強制轉換 臨時轉換 echo gettype((string)500).'——'.gettype(500).'<br>';//string——integer echo gettype(strval(500)).'——'.gettype(500).'<br>';//string——integer // 永久轉換 $a = 300; $type = gettype(settype($a, 'string')); echo gettype($type).'——'.gettype($a); //string——string echo "<br>"; // 自動轉化 echo $a + '35qw'; //335 35qw --> 35 echo "<br>"; // 字串格式化 // 大小寫轉化 echo strtoupper("abcd").'<br>'; //ABCD echo strtolower('ABCD').'<br>'; //abcd // 字串轉為時間戳 echo strtotime('2018-1-30').'<br>'; // 千位分隔符 第二個引數是保留幾位小數(四捨五入),接著是千位分隔符和小數點 echo number_format('12345678.235','2','|','*'); //12*345*678|24 echo "<br>"; // 整數與ASCII碼的 echo chr(88).'<br>'; // X echo ord('s').'<br>'; // 115 // 將換行符\n轉化為<br> echo nl2br("12\n34\n"); // // 編碼的轉換 把原來的utf-8轉化為gbk echo iconv('utf-8', 'gbk', '張三').'<br>'; //出現亂碼 // 加密 echo md5('123456').'<br>'; echo sha1('123456').'<br>'; //字串過濾與編碼 // trim() echo trim(' 231 ').'<br>'; //過濾兩邊的空格 echo ltrim(' 231 ').'<br>'; //過濾左邊的空格 echo rtrim(' 231 ').'<br>'; //過濾右邊的空格 echo trim('12321b','b').'<br>'; //12321 過濾掉指定字元 echo strip_tags("<h2><p>2</p></h2>",'<h2>'); //過濾掉了html程式碼 保留h2 // htmlspecialchars 把html程式碼當作純文字輸出 echo htmlspecialchars("<h1>12</h1>"); //<h1>12</h1> echo htmlspecialchars_decode("<h1>12</h1>"); // 和htmlspecialchars相反 // json字串處理 $arr = array('id'=>12,'name'=>'su'); // json_encode 將陣列或者物件轉化為json $json = json_encode($arr); //{"id":12,"name":"su"} echo $json; echo "<br>"; // json_decode 將json字串轉化為物件 true轉化為陣列 print_r(json_decode($json,true)); echo "<br>"; // 序列化 a:表示陣列 2:表示2個值,s:鍵是string型別 2:鍵是2位 id:鍵名 接著是值 echo serialize(array('id'=>12,'name'=>'su')); //a:2:{s:2:"id";i:12;s:4:"name";s:2:"su";} echo "<br>"; print_r(unserialize(serialize(array(1,2,3,4)))); ?>