在PHP中,二进制安全字符串比较是什么意思?

问题描述

一些包含此描述的PHP函数示例为strcmp()和strcasecmp(),它们如何在内部工作?该二进制比较如何工作? 我无法理解为什么这些函数返回-1、0和1(或 0)

预先感谢

解决方法

  1. 如果两个字符串具有相同的BEGINNING部分,则会从两个字符串中截断它们。
  2. 将生成的字符串与两个可能的结果进行比较:
  • 如果结果字符串之一是空字符串,则返回非空字符串的长度(符号取决于将参数传递给函数的顺序)
  • 在任何其他情况下,仅比较FIRST字符的数值。无论数值之间的差异有多大,结果都是+1或-1。

source