Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
PHP: substr_compare - Manual
[go: Go Back, main page]

PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

substr_count" width="11" height="7"/> <strtr
Last updated: Mon, 05 Feb 2007

view this page in

substr_compare

(PHP 5)

substr_compare — 指定した位置から指定した長さの 2 つの文字列について、バイナリ対応で 比較する(大文字小文字を区別しないことも可能)

説明

int substr_compare ( string main_str, string str, int offset [, int length [, bool case_insensitivity]] )

substr_compare() は、main_stroffset 文字目以降の最大 length 文字を、str と比較します。

main_stroffset 以降が str より小さい場合に負の数、 str より大きい場合に正の数、 等しい場合に 0 を返します。offsetmain_str の長さ以上であり、かつ length が設定されている場合、substr_compare() は警告を 表示して FALSE を返します。

case_insensitivityTRUE の場合、 大文字小文字を区別せずに比較します。

例 2327. A substr_compare() example

<?php
echo substr_compare("abcde", "bc", 1, 2); // 0
echo substr_compare("abcde", "bcg", 1, 2); // 0
echo substr_compare("abcde", "BC", 1, 2, true); // 0
echo substr_compare("abcde", "bc", 1, 3); // 1
echo substr_compare("abcde", "cd", 1, 2); // -1
echo substr_compare("abcde", "abc", 5, 1); // 警告
?>



add a note add a note User Contributed Notes
substr_compare
sleek
23-May-2005 09:07
Modified version of the original posted function. Use this one:

<?php
if (!function_exists('substr_compare')) {
   function
substr_compare($main_str, $str, $offset, $length = NULL, $case_insensitivity = false) {
      
$offset = (int) $offset;

      
// Throw a warning because the offset is invalid
      
if ($offset >= strlen($main_str)) {
          
trigger_error('The start position cannot exceed initial string length.', E_USER_WARNING);
           return
false;
       }

      
// We are comparing the first n-characters of each string, so let's use the PHP function to do it
      
if ($offset == 0 && is_int($length) && $case_insensitivity === true) {
           return
strncasecmp($main_str, $str, $length);
       }

      
// Get the substring that we are comparing
      
if (is_int($length)) {
          
$main_substr = substr($main_str, $offset, $length);
          
$str_substr = substr($str, 0, $length);
       } else {
          
$main_substr = substr($main_str, $offset);
          
$str_substr = $str;
       }

      
// Return a case-insensitive comparison of the two strings
      
if ($case_insensitivity === true) {
           return
strcasecmp($main_substr, $str_substr);
       }

      
// Return a case-sensitive comparison of the two strings
      
return strcmp($main_substr, $str_substr);
   }
}
?>

substr_count" width="11" height="7"/> <strtr
Last updated: Mon, 05 Feb 2007
 
 
show source | credits | sitemap | contact | advertising | mirror sites