自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PHP字符處理函數(shù)的問題總結(jié)

開發(fā) 后端
PHP字符處理函數(shù)是PHP語言中龐大函數(shù)體系中的一種,我們今天要向大家介紹的包括:in_array()函數(shù);strtolower()函數(shù);trim();empty()和 htmlentities()函數(shù)。

我們在學(xué)習(xí)PHP語言的時候知道,它是一個功能非常強(qiáng)大的計算機(jī)高級語言,那么它的功能體現(xiàn)在哪些地方呢?下面我們就像大家總結(jié)了一些PHP字符處理函數(shù)的相關(guān)問題,供大家學(xué)習(xí)參考。

#t#PHP字符處理函數(shù)1. in_array()函數(shù)

Java代碼

  1. $zero = "0";   
  2. $za = array("00");   
  3. if(in_array($zero, $za, true)){   
  4. echo 'in';   
  5. }else{   
  6. echo 'not in';   
  7. }  
  8. $zero = "0";  
  9. $za = array("00");  
  10. if(in_array($zero, $za, true)){  
  11. echo 'in';  
  12. }else{  
  13. echo 'not in';  
  14. }  

這段代碼應(yīng)該輸出什么?答案是in,而不是not in。
然后測試一下這個:

Java代碼

  1. $zero = "0";   
  2. $za = array("00");   
  3. if("0" == "00"){   
  4. echo '0 == 00';   
  5. }   
  6. $zero = "0";  
  7. $za = array("00");  
  8. if("0" == "00"){  
  9. echo '0 == 00';  
  10. }  

返回'0'=='00'。

所以以后要注意:對于字符串不是說in,就表示那個字符在array里面。

PHP字符處理函數(shù)2. strtolower()函數(shù)

我的解決方式是:

Java代碼

  1. urldecode(strtolower
    (urlendoce($str)));   
  2. urldecode(strtolower
    (urlendoce($str)));  

 

PHP字符處理函數(shù)3. trim()

如果面對的是英文字符,那么trim()應(yīng)該就滿足了,但是對于中文字符,就應(yīng)該重寫以trim掉全角的空格:

Java代碼

  1. function cntrim($value){   
  2. return trim(ereg_replace("^(
     )*|( )*$","", $value));   
  3. }   
  4.  
  5. function cntrim($value){  
  6. return trim(ereg_replace("^( 
    )*|( )*$","", $value));  
  7. }  

 

PHP字符處理函數(shù)4. empty():

這個就有點(diǎn)像上面那個in_array()了,如果你要判斷一個textarea里面是否有值,不能光使用empty,因為'0'字符串也會返回empty(但奇怪的是'00'就不會返回empty),重寫以應(yīng)對這種情況:

Java代碼

  1. function non_szero_empty
    ($value){   
  2. return empty($value) && 
    $value != '0';   
  3. }   
  4.  
  5. function non_szero_empty
    ($value){  
  6. return empty($value) &&
     $value != '0';  
  7. }  

 

PHP字符處理函數(shù)5. htmlentities():

與strtolower()類似,htmlentities也會出現(xiàn)一些轉(zhuǎn)義gbk字符的問題,以致出現(xiàn)亂碼。索性這樣替換:

Java代碼

  1. function _myhtmlentities($value){   
  2. //$value = preg_replace('/&
    ((#(\d{3,5}|x[a-fA-F0-9]{4})|
    [a-zA-Z][a-z0-9]{2,5});)/', '&\\1'
    , str_replace(array('&', '"', '
    < ', '>')
    , array('&amp;', '&quot;', '
    &lt;', 
    '
    &gt;'), $value));   
  3. $value = str_replace(array('&', '"', 
    '
    < ', '>'), array('&amp;', '&quot;', 
    '
    &lt;', '&gt;'), $value);   
  4. return $value;   
  5. }   
  6. function _myhtmlentities($value){  
  7. //$value = preg_replace('/&amp;((#(
    \d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-
    z0-9]{2,5});)/', '&\\1', str_replace
    (array('&', '"', '
    < ', '>'), array(
    '&amp;', '&quot;', '
    &lt;', '&gt;'), $value));  
  8. $value = str_replace(array('&', '"', 
    '
    < ', '>'), array('&amp;', '&quot;', 
    '
    &lt;', '&gt;'), $value);  
  9. return $value;  

不過現(xiàn)在還在疑惑為什么htmlentities會出現(xiàn)亂碼,這樣改為什么又可行。計劃有時間看源代碼一探究竟。

以上就是我們這次要向大家介紹的PHP字符處理函數(shù)的全部內(nèi)容。

責(zé)任編輯:曹凱 來源: javaeye
相關(guān)推薦

2009-11-17 10:55:02

PHP字符串處理函數(shù)

2009-12-07 16:44:45

PHP圖形處理函數(shù)

2009-12-01 10:38:08

PHP字符串函數(shù)

2009-12-03 19:23:15

PHP處理會話函數(shù)

2009-11-24 09:55:44

PHP字符串函數(shù)

2009-11-26 14:14:06

PHP中文處理工具函數(shù)

2009-11-27 11:19:11

PHP打印函數(shù)

2012-08-09 09:11:32

PHP超時

2009-12-18 09:52:40

Ruby字符串處理函數(shù)

2009-12-11 17:45:09

PHP Math函數(shù)

2009-12-11 17:39:47

PHP String函

2009-11-25 09:56:06

PHP數(shù)組處理函數(shù)

2009-12-02 20:29:30

PHP常用函數(shù)

2009-11-16 16:59:03

PHP構(gòu)造函數(shù)

2009-11-16 15:32:05

PHP數(shù)組函數(shù)

2015-07-06 09:52:40

2024-07-29 10:46:50

2009-12-03 15:13:51

PHP開發(fā)中問題

2016-06-28 11:28:11

2010-10-14 13:55:58

MySQL創(chuàng)建函數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號