php經常使用字符串和例子

//輸出一個或多個字符串
//注:echo  不是一個函數(它是一個語言結構), 所以你不必定要使用小括號來指明參數,單引號,雙引號均可以
$a = "admin1";
$b = "adminb";
echo $a, $b . "<br/>";


//使用一個字符串分割另外一個字符串
//array explode  ( string $delimiter  , string $string  [, int $limit  ] )
//注:若是設置了 limit 參數而且是正數,則返回的數組包含最多 limit 個元素,而最後那個元素將包含 string 的剩餘部分。 若是 limit 參數是負數,則返回除了最後的 -limit 個元素外的全部元素。 若是 limit 是 0,則會被當作 1。
$str = 'one|two|three|four';
var_dump(explode("|", $str)); //array(4) { [0]=> string(3) "one" [1]=> string(3) "two" [2]=> string(5) "three" [3]=> string(4) "four" }
var_dump(explode("|", $str, 1));//array(1) { [0]=> string(18) "one|two|three|four" }
var_dump(explode("|", $str, -1));//array(3) { [0]=> string(3) "one" [1]=> string(3) "two" [2]=> string(5) "three" }


//將一個一維數組的值轉化爲字符串
//implode  ( string $glue  , array $pieces  )
//注:用 glue 將一維數組的值鏈接爲一個字符串。
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
echo $comma_separated;  // lastname,email,phone
var_dump(implode('hello', array()));  // string(0) ""


//使一個字符串的第一個字符小寫
// lcfirst  ( string $str  )
//注:只有字符串的第一個是英文字母而且大寫纔會轉換
echo lcfirst("我");  //
echo lcfirst("Hello"); //hello


//將字符串的首字母轉換爲大寫 
//ucfirst  ( string $str  )
echo ucfirst("world");  //World


//將字符串中每一個單詞的首字母轉換爲大寫 
//ucwords  ( string $str  )
//注:若是首字符是字母轉換爲大寫字母
echo ucwords("i am yang"); //I Am Yang


//將字符串轉化爲小寫 
//strtolower  ( string $str  )
//注:若是存在字母則轉換爲小寫字母
echo strtolower("我 Is Yang"); //我 is yang


//將字符串轉化爲大寫
//strtoupper  ( string $string  )
//注:若是存在字母則轉換爲大寫字母
echo strtoupper("我 is yang"); //我 IS YANG


//計算字符串的 MD5 散列值 
//md5  ( string $str  [, bool $raw_output  = false  ] )
//注:若是可選的 raw_output 被設置爲 TRUE ,那麼 MD5 報文摘要將以16字節長度的原始二進制格式返回。 
echo md5("admin"); //21232f297a57a5a743894a0e4a801fc3
echo md5("admin", TRUE); //!#/)zW¥§C‰JJ€Ã


//計算字符串的 sha1 散列值 
//sha1  ( string $str  [, bool $raw_output  = false  ] )
//注:若是可選的 raw_output 參數被設置爲 TRUE ,那麼sha1摘要將以20字符長度的原始格式返回,不然返回值是一個 40 字符長度的十六進制數字。 
echo sha1("admin"); //d033e22ae348aeb5660fc2140aec35850c4da997
echo sha1("admin", TRUE); //Ð3â*ãH®µf ì5…M©—


//以千位分隔符方式格式化一個數字
//number_format  ( float $number  , int $decimals  = 0  , string $dec_point  = '.'  , string $thousands_sep  = ','  )
//注:參數個數必須是一、二、4
echo number_format("123.45"); //123
echo number_format("123.45", 3); //123.450
echo number_format(1230.45, 3, ';');  //報錯
echo number_format(1230.45, 3, ' ', ','); //1,230 450


//返回字符的 ASCII 碼值
//int ord  ( string $string  )
//注:該函數是 chr()  的互補函數。 返回的是字符串第一個字符的ASCII碼
echo ord("我admin"); //230


//將字符串解析成多個變量
//void  parse_str  ( string $str  [, array &$arr  ] )
//注:若是 str 是 URL 傳遞入的查詢字符串(query string),則將它解析爲變量並設置到當前做用域。
$str = "http://localhost/php/string.php?a=1&b=2";
parse_str($str, $arr);
var_dump($arr); //array(2) { ["http://localhost/php/string_php?a"]=> string(1) "1" ["b"]=> string(1) "2" }
parse_str("i am yang", $arr);
var_dump($arr); //array(1) { ["i_am_yang"]=> string(0) "" }


//重複一個字符串
//string str_repeat  ( string $input  , int $multiplier  )
//注:返回 input 重複 multiplier 次後的結果。 
echo str_repeat("i am yang", 2);//i am yangi am yang


//子字符串替換
//mixed  str_replace  ( mixed  $search  , mixed  $replace  , mixed  $subject  [, int &$count  ] )
//注:$count 爲替換的次數
//echo str_replace("am", "are", "i am yang"); //i are yang
$arr = array('a', 'y');
echo str_replace($arr, "", "i am yang"); //i m ng


//將字符串轉換爲數組
//array str_split  ( string $string  [, int $split_length  = 1  ] )
//注:$split_length表明拆分紅的數組值的字符串的長度
var_dump(str_split("i am yang")); //將字符串拆分爲一個字母的數組
var_dump(str_split("i am yang", 3)); //array(3) { [0]=> string(3) "i a" [1]=> string(3) "m y" [2]=> string(3) "ang" }


//從字符串中去除 HTML 和 PHP 標記
//string strip_tags  ( string $str  [, string $allowable_tags  ] )
//注:使用可選的第二個參數指定不被去除的字符列表。 
echo strip_tags("<h1>i am yang ,i can <?php"); //i am yang ,i can
echo strip_tags("<h1>i am yang ,i can php </h1>", "<h1>"); //<h1>i am yang ,i can php </h1>


//獲取字符串長度
//int strlen  ( string $string  )
//注:字符串中包含中文時計算不許確
echo strlen("i am yang"); //9
echo strlen("我是 yang"); //11


//查找字符串首次出現的位置
//mixed  strpos  ( string $haystack  , mixed  $needle  [, int $offset  = 0  ] )
//注:返回 needle 在 haystack 中首次出現的數字位置。 $offset不能爲負數,index(索引)從0開始
//strrpos
echo strpos("http://localhost/php/string.php", "/"); //5


//查找指定字符在字符串中的最後一次出現
//string strrchr  ( string $haystack  , mixed  $needle  )
//注:該函數返回字符串的一部分。若是 needle 未被找到,返回 FALSE 。
//strchr => strstr
echo strrchr("i am yang", "a"); //ang


//反轉字符串
//string strrev  ( string $string  )
//注:
echo strrev("i am yang"); //gnay ma i


//查找字符串的首次出現
//string strstr  ( string $haystack  , mixed  $needle  [, bool $before_needle  = false  ] )
//注:false:查找的字符串向後截取,若爲 TRUE , strstr()  將返回 needle 在 haystack 中的位置以前的部分。
echo strstr("i am yang yang", "am");  //am yang yang


//返回字符串的子串 
//string substr  ( string $string  , int $start  [, int $length  ] )
//注:不包含$start位置上的字符,$start爲負數時,則從最後開始數$length個字符開始向後截取
echo substr("i am yang", 1); //am yang
echo substr("i am yang", -2, 2); //ng


//計算字串出現的次數
//int substr_count  ( string $haystack  , string $needle  [, int $offset  = 0  [, int $length  ]] )
//注:該函數不會計算重疊字符串。
echo substr_count("i am yang", "a"); //i am yang => 2
echo substr_count("i am yang", "a", 3); // m yang => 1
echo substr_count("i am yang", "a", 3, 3); //m y => 0
相關文章
相關標籤/搜索