addcslashes(),charlist参数 - php.net上的解释是否正确?

时间:2018-03-24 13:28:03

标签: php php-7 php-5.3 addslashes

当我运行这段代码时:

#include <iostream>
using namespace std;

namespace first {
    void foo() {
        cout << "this is the first foo" << endl;
    }
}

namespace second {
    void foo() {
        cout << "this is the second foo" << endl;
    }
}


void foo() {
    cout << "this is just foo" << endl;
}


using namespace second;
void main() {
    first::foo();
    second::foo();
    foo();
}

输出:

echo addcslashes('testing\n', "\n");

参数说明 - &gt; "testing\n" 说:

  

如果Charlist包含字符\ n,\ r \ n等,它们会转换为charlist样式

但这似乎不正确。这意味着C-like会以类似C的风格转换为"\n",这是没有任何意义的。

那么可以说php.net页面不正确吗?如果说这些类型的角色保持不变会不会是正确的?我正在学习PHP编程,我想确保我拥有的信息是正确的。

1 个答案:

答案 0 :(得分:1)

这意味着\n(内部双引号)将被转义并变为\\n

var_dump("testing\n"); // 8 bytes
var_dump(addcslashes("testing\n", "\n")); // 9 bytes

输出:

string(8) "testing
"
string(9) "testing\n"