我正在努力将数据从一个数据库传输到另一个数据库。为此,我必须将一些值(字符串)映射到整数,这是我遇到一个奇怪问题的地方。
字符串看起来像$ string =“word anotherword”;所以两个字(或一个空格)。 当我爆炸字符串或计算空格量时,它会错过空白区域。为什么?我var_dumped变量,它说它是一个字符串。
以下是我正在使用的代码。
echo "<strong>Phases</strong>: ".$fases = mapPhase($lijst[DB_PREFIX.'projectPhase']);
发送给该函数的字符串例如是“Design Concept”。这将调用以下函数(忽略空格)
function mapPhase($phases){
echo "Whitespace amount: ".substr_count($phases, ' ')."<br />";
}
对于给定此函数的示例字符串,回显0.导致此问题的原因是什么以及如何解决?最奇怪的是,对于一个实例,该功能完美地工作。
答案 0 :(得分:3)
多个空格(以HTML格式)总是转换为一个空格。例如代码缩进。
如果您想要打印多个,请逐个使用&nbps;
。
function mapPhase($phases){
echo 'Whitespace amount: '.substr_count($phases, ' ').'<br />';
}
答案 1 :(得分:0)
也许他们甚至不是空格。对字符串中的每个符号尝试ord()。
ord('')是32。
答案 2 :(得分:0)
字符串中的所谓空格可能不是像''中那样的空格,而是类似的东西,它会以与''相同的方式在浏览器中呈现。 (对于可能的字符的基本列表:http://php.net/manual/en/function.trim.php)
因此,检查空白究竟是什么可能是该问题的解决方案。
答案 3 :(得分:0)
您可以使用:
$string = preg_replace('/\s+/', '', $string);