2013-11-24 3 views
0

Должен ли следующий код не только удалить одну обратную косую черту вместо двух обратных косых черт? Но на выходе я вижу две обратные косые черты удалены. может кто-нибудь объяснить?Stripslashes and 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

Эти две обратные косые черты действительны один символ. читайте об Escaping Characters.

Смежные вопросы