Hoe vergelijk je 2 strings alfabetisch in PHP?

Wat de titel zegt. Vooral als ik

$array1['name'] = 'zoo';
$array2['name'] = 'fox';

Hoe kan ik bepalen dat de naam van $array2alfabetisch boven die van $array1moet komen?


Antwoord 1, autoriteit 100%

Gebruik strcmp. Als het eerste argument voor strcmp lexicografisch kleiner is dan het tweede, is de geretourneerde waarde negatief. Als beide gelijk zijn, wordt 0 geretourneerd. En als de eerste lexicografisch groter is dan de tweede, wordt een positief getal geretourneerd.

nb. U wilt waarschijnlijk strcasecmp(string1,string2)gebruiken, waarbij hoofdletters worden genegeerd. ..


Antwoord 2, autoriteit 14%

Je kunt beide strings vergelijken met strcmp:

Retourneren < 0 als str1kleiner is dan str2; > 0 als str1groter is dan str2, en 0 als ze gelijk zijn.


Antwoord 3, autoriteit 11%

Ik ben een beetje laat (dan was ik in 2009 nog geen programmeur 🙂 Niemand heeft dit nog genoemd, maar je kunt gewoon de operators gebruiken die je ook op nummer gebruikt.

< > <= >= == !=en meer

Bijvoorbeeld:

'a' > 'b'retourneert false

'a' < 'b'retourneert true

http://php.net/manual/en/language.operators .comparison.php

BELANGRIJK

Er is een fout, die je kunt vinden in de reacties hieronder.


Antwoord 4, autoriteit 2%

Ik gebruik vaak natsort(Natural Sort), aangezien ik de array meestal toch gewoon wil bewaren voor later gebruik.

Voorbeeld:

natsort($unsorted_array);
var_dump($usorted_array); // will now be sorted.

Antwoord 5

sorteren

EDIT heeft zojuist waarden van verschillende arrays gerealiseerd, zou eerst array_mergekunnen zijn maar weet niet zeker of dat is wat je wilt

Other episodes