这是一个愚蠢的问题,实际上只是为了个人利益, 但你怎么会把多个换行减半?
所以我说我有一系列的两个\ r \ n(回车符/换行符)作为常量,所以
Class FOO
{
Const DELIM = "\r\n\r\n";
private fullDelim, halfDelim = false;
public function __construct()
{
$this->fullDelim = self::DELIM;
$this->halfDelim = substr(self::DELIM, -(count(self::DELIM)/2); // or something ??
}
}
这是理智的做法吗?你甚至可以继续换行吗?我非常好奇你是如何以“理智”的方式解决这个问题的?
答案 0 :(得分:1)
使用strlen()
获取字符串的长度,而不是count()
。
$this->halfDelim = substr(self::DELIM, -(strlen(self::DELIM)/2);
答案 1 :(得分:0)
老实说这很有效,我实际上有点惊讶......
$half substr(self::DELIM, -(preg_match_all ('/\r\n/', self::DELIM)/2));
测试
echo preg_match_all ('/\r\n/', self::DELIM); // 2
echo count(substr(self::DELIM, -(preg_match_all ('/\r\n/', self::DELIM)/2))); // 1