PHP中的addslashes雙胞胎兄弟函數(shù)
addslashes的錯誤
坑爹啊,給大家看一個代碼,看看大家能發(fā)現(xiàn)錯誤不?
echo function_exists('addcslashes');//檢測是否存在該函數(shù)
echo get_magic_quotes_gpc().'<br/>';//檢測是否開啟自動轉(zhuǎn)義
echo PHP_VERSION.'<br/>';//php版本信息
echo addcslashes("Who's John Adams?");
echo '<br/>';
$str = "Who's John Adams?";
echo addslashes($str);
大家猜猜輸出結(jié)果是不是一樣的???A:一樣 B:還是一樣
我也是認為一樣的但是,其實坑爹了!
10
5.3.6
Warning: addcslashes() expects exactly 2 parameters, 1 given in /data/bookuu/test/class.php on line 50
Who\’s John Adams?
一個報錯,另外一個正常輸出。
為啥?
addslashes 和addcslashes不是同一個函數(shù),發(fā)現(xiàn)沒有,只有一個字符的區(qū)別。
但是兩個函數(shù)的功能都是一樣的—轉(zhuǎn)義字符串。
區(qū)別是啥?
addslashes只有一個參數(shù)-字符串
addcslashes需要兩個參數(shù),字符串,分隔符.
echo addcslashes("Who’s John Adams?","’");這樣寫就可以正常輸出了。