2013-11-24 71 views
0

下面的代碼不僅應該刪除一個反斜槓而不是兩個反斜槓嗎?但在輸出中,我看到刪除了2個反斜槓。有人可以解釋嗎?Stripslashes和array_map

<?php 
    function stripslashes_deep($value) 
{ 
    $value = is_array($value) ? 
       array_map('stripslashes_deep', $value) : 
       stripslashes($value); 

    return $value; 
} 

// Example 

$array = array("f\\'oo", "b\\'ar", array("fo\\'o", "b\\'ar")); 
$array = stripslashes_deep($array); 

// Output 

print_r($array); 
?> 

輸出如下:

Array 
(
    [0] => f'oo 
    [1] => b'ar 
    [2] => Array 
     (
      [0] => fo'o 
      [1] => b'ar 
     ) 

) 

回答

0

作爲字符串被包裹着雙引號,存在使用\影響字符串作爲每this table (PHP manual)上述\\裝置的情況下轉義序列\ 。

0

這兩個反斜槓實際上是單個字符。閱讀關於逃離角色。