PHP中的addslashes雙胞胎兄弟函數
addslashes的錯誤
坑爹啊,給大家看一個代碼,看看大家能發現錯誤不?
echo function_exists('addcslashes');//檢測是否存在該函數
echo get_magic_quotes_gpc().'<br/>';//檢測是否開啟自動轉義
echo PHP_VERSION.'<br/>';//php版本信息
echo addcslashes("Who's John Adams?");
echo '<br/>';
$str = "Who's John Adams?";
echo addslashes($str);
大家猜猜輸出結果是不是一樣的???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不是同一個函數,發現沒有,只有一個字符的區別。
但是兩個函數的功能都是一樣的—轉義字符串。
區別是啥?
addslashes只有一個參數-字符串
addcslashes需要兩個參數,字符串,分隔符.
echo addcslashes("Who’s John Adams?","’");這樣寫就可以正常輸出了。