1

私はソート関数を書いています(usortを使用)。そこで実行したい操作の一部は、アルファベット順で最初に来る値を決定することです。(これは操作の一部にすぎないため、natsortは使用していません。) これは、どちらがアルファベット順で最初であるかを判断する必要がある 2 つの文字列があることを意味します。この操作はループで行われるため、できるだけ簡単に実行したいと考えています。私ができることの 1 つは、2 つの要素から配列を作成し、natsort を使用することです。2 つの値から配列を構築することを含まない、より良いアプローチはありますか?

編集:$a > $bこれがどのように動作するかはわかりませんが、基本的なケースは正しいようです。

4

1 に答える 1

2

そのために使用strcmpします:

ドキュメントから:

str1 が str2 より小さい場合は < 0 を返します。> str1 が str2 より大きい場合は 0、等しい場合は 0。

コード:

$str1 = 'foo';
$str2 = 'bar';

if(strcmp($str1, $str2) < 0) {
  echo '$str1 comes first';
} elseif(strcmp($str1, $str2) > 0 ){
  echo '$str2 comes first';
} 

出力:

$str2 comes first

デモ!

于 2013-09-22T20:34:21.997 に答える