March 2, 2014

strcmp()や、それに似た関数のメモ

メモです。。。

<?php

// strcmp(string $str1, string $str2) は文字列を辞書順に比較する
// http://www.php.net/manual/ja/function.strncmp.php

// 等しい場合
$str1 = 'abc';
$str2 = 'abc';
echo strcmp($str1, $str2); // 0
echo PHP_EOL;

// $str1 > $str2
$str1 = 'abd';
$str2 = 'abc';
echo strcmp($str1, $str2); // 1
echo PHP_EOL;

// $str1 > $str2
$str1 = 'acx';
$str2 = 'abc';
echo strcmp($str1, $str2); // 1
echo PHP_EOL;

// $str2 > $str1
$str1 = 'abc';
$str2 = 'abd';
echo strcmp($str1, $str2); // -1
echo PHP_EOL;

// $str2 > $str1
$str1 = 'abc';
$str2 = 'acx';
echo strcmp($str1, $str2); // -1
echo PHP_EOL;

// strcasecmp(string $str1, string $str2) は大文字小文字を区別しない
// http://www.php.net/manual/ja/function.strcasecmp.php

$str1 = 'abc';
$str2 = 'ABC';
echo strcmp($str1, $str2); // 32
echo PHP_EOL;
echo strcasecmp($str1, $str2); // 0
echo PHP_EOL;

// strncmp(string $str1, string $str2, int $len) は指定した位置までを比較する
// http://www.php.net/manual/ja/function.strncmp.php
// strncasecmp(string $str1, string $str2, int $len) については割愛

$str1 = 'abd';
$str2 = 'abc';
echo strncmp($str1, $str2, 3); // 1
echo PHP_EOL;
echo strncmp($str1, $str2, 2); // 0
echo PHP_EOL;

// strnatcmp(string $str1, string $str2) は文字列を自然順に比較する
// http://www.php.net/manual/ja/function.strnatcmp.php
// strnatcasecmp(string $str1, string $str2, int $len) については割愛

$str1 = 'ab3';
$str2 = 'ab10';
echo strcmp($str1, $str2); // 2
echo PHP_EOL;
echo strnatcmp($str1, $str2); // -1
echo PHP_EOL;

No comments:

Post a Comment