code: protected function stringDiffersAt($first, $second)
      {
          if (! $first || ! $second) {
              return 0;
          }
          if (strlen($first) < strlen($second)) {
              list($first, $second) = array($second, $first);
          }
          $position = 0;
          $step     = strlen($first);
          while ($step > 1) {
              $step = (integer) (($step + 1) / 2);
              if (strncmp($first, $second, $position + $step) == 0) {
                  $position += $step;
              }
          }
  
          return $position;
      }
docs: Find the first character position that differs in two strings by binary chop.
  
  @param string $first        First string.
  @param string $second       String to compare with.
  
  @return int             Position of first differing character.