为什么“echo strcmp('60', '100');”在php输出5中?

2023-12-20

PHP 关于这个函数的文档有点稀疏,我读过这个函数比较 ASCII 值,所以......

echo strcmp('hello', 'hello');
//outputs 0 as expected - strings are equal.
echo '<hr />';

echo strcmp('Hello', 'hello');
//outputs -32, a negative number is expected as 
//uppercase H has a lower ASCII value than lowercase h.
echo '<hr />';

echo strcmp('60', '100');
//outputs 5.

最后一个例子让我很困惑。我不明白为什么它输出正数。

  • ASCII 值 0 = 48
  • ASCII 值 1 = 49
  • ASCII 值 6 = 54

  • “60”的总 ASCII 值 = (54 + 48) = 102

  • “100”的总 ASCII 值 = (49 + 48 + 48) = 145

strcmp() 函数表示“60”比“100”“更大”,尽管 ASCII 值似乎and字符串长度“100”大于“60”

谁能解释为什么?

Thanks


strcmp()返回字符串之间第一个不匹配字符的差异。

6 - 1 is 5.

当您查看它时,您可能看不到字符或数字,而只看到数字

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么“echo strcmp('60', '100');”在php输出5中? 的相关文章

随机推荐

  • IoC 容器示例 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 Pytest 运行文档测试和普通测试

    在我的 Python 项目中 我使用 Pytest 目录结构为 src docs test 我有不同类型的测试 正常测试 在test 源代码中的文档测试 src 文档中的文档测试 docs rst 狮身人面像 我想一次运行所有这些 这样我就
  • 在magento布局xml中使用条件

    想知道是否有人在 magento 的布局 XML 中为自定义模块使用过 or 语句 我意识到我可以检查模块控制器或块本身中的值 但它似乎是逻辑所在的逻辑位置 Mage Core 将它们用于catalog xml测试 JavaScript 谢
  • 是否将可重入锁设为静态并使其成为互斥锁?

    在 Brian Goetz 的 Java Concurrency in Practice 一书中 他的可重入锁示例的编程如下 Lock lock new ReentrantLock 但是 我很好奇是否将上面的代码更改为 private st
  • 在现有pdf中的itext中追加数据

    我正在与文本 pdf图书馆 我想在现有 pdf 的末尾添加内容 举例来说 现有的 pdf 例如 Original pdf 有 4 页 所以我想添加另一页 即第 5 页的内容你好世界我添加了内容并将其保存在同一个 pdf 中 即原件 pdf
  • 切换 WordPress 站点服务器

    我有 WordPress 博客 最近我改变了我的托管 所以我用 filezilla 从旧服务器下载了所有博客文件 在新服务器上 我创建了目录博客 并在该目录下上传了所有文件 我在新服务器上创建了与旧服务器完全相同的新数据库并上传了该数据库
  • Google Play 商店,无法再查看总安装量

    我在 Google Play 商店上有一些应用程序 并使用总安装数作为我的增长计划的一部分 然而 自 2018 年 7 月 16 日起 我无法再在控制台中看到 总安装数 它仅显示 活动安装 谷歌刚刚从游戏商店中删除了最重要的数字之一吗 我还
  • 如何在 Rails 3 的控制器中使用 mixin 或模块?

    我的控制器中有一些行为 我将其提取到模块中 以便更好地测试并在一些地方重复使用它 对此有两个问题 哪里是放置我的模块的好地方 它们需要运行才能可供控制器使用 所以我在想config initializers 目录 不过 这对我来说似乎有点可
  • TextArea 的 JavaFX CSS 样式不起作用

    我正在编写一个简单的 JavaFX 应用程序 但我无法使用某些 CSS 样式 问题是 fx background color财产给我的TextArea 这是相关的CSS text area fx font family Consolas f
  • “numeric_limits”未在此范围内声明,没有匹配的函数可用于调用“max()”

    我在家里用 xcode 在我的 mac 上编译了这段代码 没有出现任何问题 我在学校用 g 在 Linux 上编译它 并收到以下错误 numeric limits 不是 std 的成员 gt 标记之前的预期主要表达式 没有匹配的函数来调用
  • F#代码引用调用、性能和运行时要求

    这里有 4 个与 F 代码引用深度相关的问题 如何调用 F 代码引用 它的调用方式是否会比普通的旧式 F lambda 效率低 到什么程度 它是否需要对高级反射或代码发出功能的运行时支持 我的目标嵌入式平台通常不存在或禁止这种功能 引文只是
  • 需要SDK版本 >=2.16.0 <3.0.0,版本解析失败

    当前的 Dart SDK 版本是 2 14 4 由于trackkit要求SDK版本 gt 2 16 0 我的 pubspec yaml environment sdk gt 2 16 0 lt 3 0 0 运行 flutter master
  • 在 Three.js 中高效渲染数以万计的可变大小/颜色/位置的球体?

    这个问题是从我的上一个问题中提炼出来的 我发现使用积分会导致问题 https stackoverflow com a 60306638 4749956 https stackoverflow com a 60306638 4749956 为
  • 在android中创建矩形边框进度条

    我想创建一个进度条 应如上图所示 有人有一个想法可以做到这一点 就像一个按钮 但边框就像一个进度条 Thanks 我在这个的帮助下解决了 如何创建 Android 钻石进度条 https stackoverflow com question
  • 在后台线程中运行处理程序消息

    我想在后台线程中运行一些 Runnable 我想使用Handler 因为它方便延迟 我的意思是 handler post runnable delay Where runnable应该运行在背景线 是否可以创建这样的Handler 某处是否
  • 通过快捷键激活扩展

    是否可以通过快捷键打开 启动 google chrome 扩展 例如 我想分配一个快捷方式 比如说 CTRL E打开我的扩展并启动它 以前有人这样做过吗 UPDATE
  • 让 clangd 了解编译器给出的宏

    我有两个从同一源 客户端和服务器 构建的可执行文件 并且它们是使用编译选项构建的 D CLIENT 0 D SERVER 1对于服务器和 D CLIENT 1 D SERVER 0为客户 如果我做类似的事情 if CLIENT Client
  • 如何设置 Paint.setTextSize() 的单位

    是否可以更改单位Paint setTextSize 据我所知 它是像素 但我喜欢在 DIP 中设置文本大小以支持多屏幕 我知道这个主题很旧并且已经得到解答 但我还想建议这段代码 int MY DIP VALUE 5 5dp int pixe
  • 如何在 Android 上实现选项卡之间的滑动?

    Android 4 0 中针对选项卡的关键设计建议之一是允许刷卡 http developer android com design patterns swipe views html between tabs在适当的情况下在它们之间进行
  • 为什么“echo strcmp('60', '100');”在php输出5中?

    PHP 关于这个函数的文档有点稀疏 我读过这个函数比较 ASCII 值 所以 echo strcmp hello hello outputs 0 as expected strings are equal echo hr echo strc