不同的浏览器是否以不同方式处理各种 PHP 功能?

Do different browsers handle various PHP functions differently?

上下文: 我目前正在开发一个 MATLAB 脚本,该脚本可以解码使用 1:1 字母替换方案加密的消息。它的工作原理是找到消息中最常见的字符,并根据在线找到的统计数据将其重新映射到相应的常见字母。为了帮助演示,我正在编写一条消息,其中的字母频率与脚本中的字母频率完全一致。为了帮助写这封信,我开发了一个基本的 HTML 表单,附带 PHP 脚本(在 http://nd.edu/~wbadart/letter 上运行),它计算输入中的字母,对它们进行排名,并在旁边显示排名所需的排名。

问题: 我正在使用 Firefox,该工具工作正常,但它在 Chrome 和 Safari 中为我的队友显示了不正确的值。最明显的错误之一是 Chrome 和 Safari 都错误地显示了一个变量 $mssgLen,它只不过是输入的 strlen()。有谁知道是什么导致了这些差异?

谢谢!

也许浏览器终止行的方式不同。例如。 "\n\r" 而不仅仅是 "\n",反之亦然。 var_dump 或调试您的输入,以便您可以看到这些细微差别。

尝试将编码添加到html的头部部分并尝试使用mb_strlen而不是strlen。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">

PHP是服务器端语言,所以浏览器之间没有区别。

不同之处可能在于编码请求的默认值是什么以及如何处理请求。这就是可能发生 strlen 差异的地方。