您好,登錄后才能下訂單哦!
本篇內容介紹了“如何使用php字符串函數 str類”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
str_split(string, leg);//將一個字符 串轉換為數組,參數1:要被轉換的字符串,參數2:每 段長度, 返回一個轉換后的數組
例:
<?php $str = "Hello Friend"; $arr = str_split($str, 3);
Array
(
[0] => Hel
[1] => lo
[2] => Fri
[3] => end
)
ord(string);//返回字符的ASCII碼值,,,返回字符串string第一個字符的ASCII碼值
例:$test = 'abc';
$offset = 0; while ($offset >= 0) { echo $offset.": ".ordutf8($text, $offset)."\n"; // 97,98,99
sizeof();//count()的別名
end();//將數組的內部指針指向最后一個單元
<?php $fruits = array('apple', 'banana', 'cranberry'); echo end($fruits); // cranberry ?>
strlen($string);//獲取字符串長度
例:
echo strlen('hai');//3
sprintf(format, arg1, arg2, arg++);//把格式化的字符串寫入變量中。
format:規定字符串以及如何格式化其中的變量
arg1:規定插到 format 字符串中第一個 % 符號處的參數。
arg2:規定插到 format 字符串中第二個 % 符號處的參數。
例:
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // ASCII 字符 50 是 2 // 注釋:格式值 "%%" 返回百分號 echo sprintf("%%b = %b",$num1)."<br>"; // 二進制數 echo sprintf("%%c = %c",$char)."<br>"; // ASCII 字符 echo sprintf("%%d = %d",$num1)."<br>"; // 帶符號的十進制數 echo sprintf("%%d = %d",$num2)."<br>"; // 帶符號的十進制數 echo sprintf("%%e = %e",$num1)."<br>"; // 科學計數法(小寫) echo sprintf("%%E = %E",$num1)."<br>"; // 科學計數法(大學) echo sprintf("%%u = %u",$num1)."<br>"; // 不帶符號的十進制數(正) echo sprintf("%%u = %u",$num2)."<br>"; // 不帶符號的十進制數(負) echo sprintf("%%f = %f",$num1)."<br>"; // 浮點數(視本地設置) echo sprintf("%%F = %F",$num1)."<br>"; // 浮點數(不視本地設置) echo sprintf("%%g = %g",$num1)."<br>"; // 短于 %e 和 %f echo sprintf("%%G = %G",$num1)."<br>"; // 短于 %E 和 %f echo sprintf("%%o = %o",$num1)."<br>"; // 八進制數 echo sprintf("%%s = %s",$num1)."<br>"; // 字符串 echo sprintf("%%x = %x",$num1)."<br>"; // 十六進制數(小寫) echo sprintf("%%X = %X",$num1)."<br>"; // 十六進制數(大寫) echo sprintf("%%+d = %+d",$num1)."<br>"; // 符號說明符(正) echo sprintf("%%+d = %+d",$num2)."<br>"; // 符號說明符(負) ?>
返回結果:
%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:為正數時,從$string的start位置開始,為負數時,從$string的末尾開始,,,,
$lenght:為正數時,表示被替換的子字符串的長度。為負數時,表示待替換的子字符串結尾處距離string末端的字符個數。
<?php $var = 'ABCDEFGH:/MNRPQR/'; echo "Original: $var<hr />\n"; /* 這兩個例子使用 "bob" 替換整個 $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"; /* 下面兩個例子使用 "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();//查找字符串首次出現的位置。
1、
<?php // 忽視位置偏移量之前的字符進行查找 $newstring = 'abcdef abcdef'; $pos = strpos($newstring, 'a', 1); // $pos = 7, 不是 0 ?>
2、
<?php $mystring = 'abc'; $findme = 'a'; $pos = strpos($mystring, $findme); // 使用 !== 操作符。使用 != 不能像我們期待的那樣工作, // 因為 'a' 的位置是 0。語句 (0 != false) 的結果是 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); // 注意這里使用的是 ===。簡單的 == 不能像我們期待的那樣工作, // 因為 'a' 是第 0 位置上的(第一個)字符。 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);//通過一個正則表達式分隔字符串;
$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);//使用一個字符串分割另一個字符串
$del:分隔符
$str :字符串
$limit:如果設置了 limit 參數并且是正數,則返回的數組包含最多 limit 個元素,而最后那個元素將包含 string 的剩余部分。如果 limit 參數是負數,則返回除了最后的 -limit 個元素外的所有元素,如果 limit 是 0,則會被當做 1。
<?php $str = 'one|two|three|four'; // 正數的 limit print_r(explode('|', $str, 2)); // 負數的 limit(自 PHP 5.1 起) print_r(explode('|', $str, -1)); ?>
以上例程會輸出:
Array
(
[0] => one
[1] => two|three|four
)
Array
(
[0] => one
[1] => two
[2] => three
)
parse_str($str);//將字符串解析成多個變量
$str = "first=value&arr[]=foo+bar&arr[]=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);//查找字符串的首次出現
string,輸入字符串。
needle,如果 needle 不是一個字符串,那么它將被轉化為整型并且作為字符的序號來使用。
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 參數指定的子字符串)
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 // 訪問字符串中的單個字符 // 也可以使用中括號 $string = 'abcdef'; echo $string[0]; // a echo $string[3]; // d echo $string[strlen($string)-1]; // f ?>
strtr();//轉換指定字符
string strtr ( string $str , string $from , string $to )
string strtr ( string $str , array $replace_pairs )
該函數返回 str 的一個副本,并將在 from 中指定的字符轉換為 to 中相應的字符。 比如, $from[$n]中每次的出現都會被替換為 $to[$n],其中 $n 是兩個參數都有效的位移(offset)。
如果 from 與 to 長度不相等,那么多余的字符部分將被忽略。 str 的長度將會和返回的值一樣。
1、
使用兩個參數的 strtr() 范例
<?php $trans = array("hello" => "hi", "hi" => "hello"); echo strtr("hi all, I said hello", $trans); ?>
以上例程會輸出:
hello all, I said hi
2、
<?php echo strtr("baab", "ab", "01"),"\n"; $trans = array("ab" => "01"); echo strtr("baab", $trans); ?>
以上例程會輸出:
1001
ba01
str_replace(mixed $search , mixed $replace , mixed $subject [, int &$count ]);//子字符串替換
該函數返回一個字符串或者數組。該字符串或數組是將 subject 中全部的 search 都被 replace 替換之后的結果
<?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 字符,因此它們不會被兩次轉換 $newstr = str_replace($order, $replace, $str); // 輸出 F ,因為 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; ?>
“如何使用php字符串函數 str類”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。