佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > php字符串函數(shù) str類常見用法示例

php字符串函數(shù) str類常見用法示例

熱門標(biāo)簽:阿里云 銀行業(yè)務(wù) 服務(wù)器配置 Linux服務(wù)器 科大訊飛語音識(shí)別系統(tǒng) Mysql連接數(shù)設(shè)置 團(tuán)購(gòu)網(wǎng)站 電子圍欄

本文實(shí)例講述了php字符串函數(shù) str類常見用法。分享給大家供大家參考,具體如下:

str_split(string, leg);//將一個(gè)字符 串轉(zhuǎn)換為數(shù)組,參數(shù)1:要被轉(zhuǎn)換的字符串,參數(shù)2:每 段長(zhǎng)度, 返回一個(gè)轉(zhuǎn)換后的數(shù)組

例:

?php
$str = "Hello Friend";
$arr = str_split($str, 3);

Array
(
    [0] => Hel
    [1] => lo
    [2] => Fri
    [3] => end
)

ord(string);//返回字符的ASCII碼值,,,返回字符串string第一個(gè)字符的ASCII碼值

例:$test = 'abc';

$offset = 0;
while ($offset >= 0) {
  echo $offset.": ".ordutf8($text, $offset)."\n";
 // 97,98,99

sizeof();//count()的別名

end();//將數(shù)組的內(nèi)部指針指向最后一個(gè)單元

?php
$fruits = array('apple', 'banana', 'cranberry');
echo end($fruits); // cranberry
?>

strlen($string);//獲取字符串長(zhǎng)度

例:

echo strlen('hai');//3

sprintf(format, arg1, arg2, arg++);//把格式化的字符串寫入變量中。

  • format:規(guī)定字符串以及如何格式化其中的變量
  • arg1:規(guī)定插到 format 字符串中第一個(gè) % 符號(hào)處的參數(shù)。
  • arg2:規(guī)定插到 format 字符串中第二個(gè) % 符號(hào)處的參數(shù)。

例:

?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // ASCII 字符 50 是 2
// 注釋:格式值 "%%" 返回百分號(hào)
echo sprintf("%%b = %b",$num1)."br>"; // 二進(jìn)制數(shù)
echo sprintf("%%c = %c",$char)."br>"; // ASCII 字符
echo sprintf("%%d = %d",$num1)."br>"; // 帶符號(hào)的十進(jìn)制數(shù)
echo sprintf("%%d = %d",$num2)."br>"; // 帶符號(hào)的十進(jìn)制數(shù)
echo sprintf("%%e = %e",$num1)."br>"; // 科學(xué)計(jì)數(shù)法(小寫)
echo sprintf("%%E = %E",$num1)."br>"; // 科學(xué)計(jì)數(shù)法(大學(xué))
echo sprintf("%%u = %u",$num1)."br>"; // 不帶符號(hào)的十進(jìn)制數(shù)(正)
echo sprintf("%%u = %u",$num2)."br>"; // 不帶符號(hào)的十進(jìn)制數(shù)(負(fù))
echo sprintf("%%f = %f",$num1)."br>"; // 浮點(diǎn)數(shù)(視本地設(shè)置)
echo sprintf("%%F = %F",$num1)."br>"; // 浮點(diǎn)數(shù)(不視本地設(shè)置)
echo sprintf("%%g = %g",$num1)."br>"; // 短于 %e 和 %f
echo sprintf("%%G = %G",$num1)."br>"; // 短于 %E 和 %f
echo sprintf("%%o = %o",$num1)."br>"; // 八進(jìn)制數(shù)
echo sprintf("%%s = %s",$num1)."br>"; // 字符串
echo sprintf("%%x = %x",$num1)."br>"; // 十六進(jìn)制數(shù)(小寫)
echo sprintf("%%X = %X",$num1)."br>"; // 十六進(jìn)制數(shù)(大寫)
echo sprintf("%%+d = %+d",$num1)."br>"; // 符號(hào)說明符(正)
echo sprintf("%%+d = %+d",$num2)."br>"; // 符號(hào)說明符(負(fù))
?>

返回結(jié)果:

%b = 111010110111100110100010101
%c = 2
%d = 123456789
%d = -123456789
%e = 1.234568e+8
%E = 1.234568E+8
%u = 123456789
%u = 18446744073586094827
%f = 123456789.000000
%F = 123456789.000000
%g = 1.23457e+8
%G = 1.23457E+8
%o = 726746425
%s = 123456789
%x = 75bcd15
%X = 75BCD15
%+d = +123456789
%+d = -123456789

substr_replace(mixed $string , mixed $replacement , mixed $start [, mixed $length ]);// 替換字符串的子串

  • $string:輸入的字符串,
  • $replacement:用來替換的字符串,
  • $start:為正數(shù)時(shí),從$string的start位置開始,為負(fù)數(shù)時(shí),從$string的末尾開始,,,,
  • $lenght:為正數(shù)時(shí),表示被替換的子字符串的長(zhǎng)度。為負(fù)數(shù)時(shí),表示待替換的子字符串結(jié)尾處距離string末端的字符個(gè)數(shù)。
?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original: $varhr />\n";
 
/* 這兩個(gè)例子使用 "bob" 替換整個(gè) $var。*/
echo substr_replace($var, 'bob', 0) . "br />\n";
echo substr_replace($var, 'bob', 0, strlen($var)) . "br />\n";
 
/* 將 "bob" 插入到 $var 的開頭處。*/
echo substr_replace($var, 'bob', 0, 0) . "br />\n";
 
/* 下面兩個(gè)例子使用 "bob" 替換 $var 中的 "MNRPQR"。*/
echo substr_replace($var, 'bob', 10, -1) . "br />\n";
echo substr_replace($var, 'bob', -7, -1) . "br />\n";
 
/* 從 $var 中刪除 "MNRPQR"。*/
echo substr_replace($var, '', 10, -1) . "br />\n";
?> 

strpos();//查找字符串首次出現(xiàn)的位置。

1、

?php
// 忽視位置偏移量之前的字符進(jìn)行查找
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, 不是 0
?> 

2、

?php
$mystring = 'abc';
$findme  = 'a';
$pos = strpos($mystring, $findme);
 
// 使用 !== 操作符。使用 != 不能像我們期待的那樣工作,
// 因?yàn)?'a' 的位置是 0。語句 (0 != false) 的結(jié)果是 false。
if ($pos !== false) {
   echo "The string '$findme' was found in the string '$mystring'";
     echo " and exists at position $pos";
} else {
   echo "The string '$findme' was not found in the string '$mystring'";
}
?> 

3、

?php
$mystring = 'abc';
$findme  = 'a';
$pos = strpos($mystring, $findme);
 
// 注意這里使用的是 ===。簡(jiǎn)單的 == 不能像我們期待的那樣工作,
// 因?yàn)?'a' 是第 0 位置上的(第一個(gè))字符。
if ($pos === false) {
  echo "The string '$findme' was not found in the string '$mystring'";
} else {
  echo "The string '$findme' was found in the string '$mystring'";
  echo " and exists at position $pos";
}
?> 

preg_split($pet, $str);//通過一個(gè)正則表達(dá)式分隔字符串;

$keywords = preg_split("/[\s,]+/", "hypertext language, programming");
print_r($keywords);

輸出:

array(3) { 
[0]=>  string(9) "hypertext" 
[1]=>  string(8) "language" 
[2]=>  string(11) "programming"
}

explode($del, $str, $limit);//使用一個(gè)字符串分割另一個(gè)字符串

  • $del:分隔符   
  • $str :字符串   
  • $limit:如果設(shè)置了 limit 參數(shù)并且是正數(shù),則返回的數(shù)組包含最多 limit 個(gè)元素,而最后那個(gè)元素將包含 string 的剩余部分。如果 limit 參數(shù)是負(fù)數(shù),則返回除了最后的 -limit 個(gè)元素外的所有元素,如果 limit 是 0,則會(huì)被當(dāng)做 1。
?php
$str = 'one|two|three|four';
 
// 正數(shù)的 limit
print_r(explode('|', $str, 2));
 
// 負(fù)數(shù)的 limit(自 PHP 5.1 起)
print_r(explode('|', $str, -1));
?> 

以上例程會(huì)輸出:

Array
(
    [0] => one
    [1] => two|three|four
)
Array
(
    [0] => one
    [1] => two
    [2] => three
)

parse_str($str);//將字符串解析成多個(gè)變量

$str = "first=valuearr[]=foo+bararr[]=baz";
parse_str($str);
echo $first; // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz
 
parse_str($str, $output);
echo $output['first']; // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz

strstr($string,$needle,$before_needle);//查找字符串的首次出現(xiàn)

  • string,輸入字符串。
  • needle,如果 needle 不是一個(gè)字符串,那么它將被轉(zhuǎn)化為整型并且作為字符的序號(hào)來使用。
  • before_needle,若為 TRUE,strstr() 將返回 needle 在 haystack 中的位置之前的部分。
?php
$email = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // 打印 @example.com
 
$user = strstr($email, '@', true); // 從 PHP 5.3.0 起
echo $user; // 打印 name
?> 

substr($string,$start,$lenght);// 返回字符串的子串(返回字符串 string 由 start 和 length 參數(shù)指定的子字符串)

1、

?php
$rest = substr("abcdef", -1);  // 返回 "f"
$rest = substr("abcdef", -2);  // 返回 "ef"
$rest = substr("abcdef", -3, 1); // 返回 "d"
?> 

2、

?php
$rest = substr("abcdef", 0, -1); // 返回 "abcde"
$rest = substr("abcdef", 2, -1); // 返回 "cde"
$rest = substr("abcdef", 4, -4); // 返回 ""
$rest = substr("abcdef", -3, -1); // 返回 "de"
?> 

3、

?php
echo substr('abcdef', 1);   // bcdef
echo substr('abcdef', 1, 3); // bcd
echo substr('abcdef', 0, 4); // abcd
echo substr('abcdef', 0, 8); // abcdef
echo substr('abcdef', -1, 1); // f
 
// 訪問字符串中的單個(gè)字符
// 也可以使用中括號(hào)
$string = 'abcdef';
echo $string[0];         // a
echo $string[3];         // d
echo $string[strlen($string)-1]; // f
?> 

strtr();//轉(zhuǎn)換指定字符

string strtr ( string $str , string $from , string $to )

string strtr ( string $str , array $replace_pairs )

該函數(shù)返回 str 的一個(gè)副本,并將在 from 中指定的字符轉(zhuǎn)換為 to 中相應(yīng)的字符。 比如, $from[$n]中每次的出現(xiàn)都會(huì)被替換為 $to[$n],其中 $n 是兩個(gè)參數(shù)都有效的位移(offset)。

如果 from 與 to 長(zhǎng)度不相等,那么多余的字符部分將被忽略。 str 的長(zhǎng)度將會(huì)和返回的值一樣。

1、

使用兩個(gè)參數(shù)的 strtr() 范例

?php
$trans = array("hello" => "hi", "hi" => "hello");
echo strtr("hi all, I said hello", $trans);
?> 

以上例程會(huì)輸出:

hello all, I said hi

2、

?php
echo strtr("baab", "ab", "01"),"\n";
 
$trans = array("ab" => "01");
echo strtr("baab", $trans);
?> 

以上例程會(huì)輸出:

1001
ba01

str_replace(mixed $search , mixed $replace , mixed $subject [, int $count ]);//子字符串替換

該函數(shù)返回一個(gè)字符串或者數(shù)組。該字符串或數(shù)組是將 subject 中全部的 search 都被 replace 替換之后的結(jié)果

?php
// 賦值: body text='black'>
$bodytag = str_replace("%body%", "black", "body text='%body%'>");
 
// 賦值: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");
 
// 賦值: You should eat pizza, beer, and ice cream every day
$phrase = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy  = array("pizza", "beer", "ice cream");
 
$newphrase = str_replace($healthy, $yummy, $phrase);
 
// 賦值: 2
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count;
?> 

?php
// 替換順序
$str   = "Line 1\nLine 2\rLine 3\r\nLine 4\n";
$order  = array("\r\n", "\n", "\r");
$replace = 'br />';
 
// 首先替換 \r\n 字符,因此它們不會(huì)被兩次轉(zhuǎn)換
$newstr = str_replace($order, $replace, $str);
 
// 輸出 F ,因?yàn)?A 被 B 替換,B 又被 C 替換,以此類推...
// 由于從左到右依次替換,最終 E 被 F 替換
$search = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');
$subject = 'A';
echo str_replace($search, $replace, $subject);
 
// 輸出: apearpearle pear
// 由于上面提到的原因
$letters = array('a', 'p');
$fruit  = array('apple', 'pear');
$text  = 'a p';
$output = str_replace($letters, $fruit, $text);
echo $output;
?>

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php常用函數(shù)與技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總》

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • C語言字符函數(shù)、內(nèi)存函數(shù)功能及實(shí)現(xiàn)代碼
  • C語言去除相鄰重復(fù)字符函數(shù)的實(shí)現(xiàn)方法
  • PHP常用字符串函數(shù)用法實(shí)例總結(jié)
  • SQL SERVER2012中新增函數(shù)之字符串函數(shù)CONCAT詳解
  • 深入了解C語言字符函數(shù)和字符串函數(shù)

標(biāo)簽:棗莊 蚌埠 大理 江蘇 萍鄉(xiāng) 衡水 衢州 廣元

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php字符串函數(shù) str類常見用法示例》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    庄浪县| 筠连县| 洱源县| 临海市| 嘉定区| 都安| 建始县| 囊谦县| 平潭县| 和田市| 红安县| 常州市| 广宁县| 大名县| 平潭县| 合山市| 和平区| 丰台区| 瓦房店市| 札达县| 咸阳市| 邮箱| 永靖县| 元氏县| 梧州市| 恩施市| 黄梅县| 延边| 洪湖市| 玉林市| 阿巴嘎旗| 铜川市| 双流县| 正定县| 台山市| 凤翔县| 和龙市| 双峰县| 青川县| 尉犁县| 常熟市|