Tha Arrays nan structar dàta sòlaimte ann am PHP a leigeas le luchd-leasachaidh grunn luachan a stòradh agus a riaghladh ann an aon chaochladair. Tha PHP a’ toirt a-steach cruinneachadh de dhòighean airson arrays a sheòrsachadh agus a làimhseachadh a bharrachd air gnìomhachd rèiteachaidh bunaiteach. Anns an dreuchd seo, seallaidh sinn ris na gnìomhan seòrsachaidh PHP as cumanta a tha rim faighinn ann am PHP 8.
Gnìomhan seòrsachaidh
Tha PHP a 'toirt seachad grunn ghnìomhan a-staigh airson a bhith a' rèiteachadh arrays, a 'gabhail a-steach:
seòrsa ()
Tha Deasaich() modh a’ rèiteachadh buill rèite ann an òrdugh dìreadh. Mura h-eil ach aon eileamaid san raon, tillidh e an aon raon. Bidh e air ais fìor nuair a bhios e soirbheachail. Bidh e a 'tilleadh ceàrr anns a h-uile suidheachadh eile.
$numbers = array(4, 8, 12, 16, 20);
sort($numbers);
print_r($numbers); // [4, 8, 12, 16, 20]
rsort ()
Tha rsort()
tha an gnìomh air cùl an sort()
gnìomh. Bidh e a’ seòrsachadh eileamaidean an t-sreath ann an òrdugh teàrnaidh.
Copy code$numbers = array(4, 16, 12, 20, 11);
rsort($numbers);
print_r($numbers); // [20, 16, 12, 11, 4]
asort ()
Tha asort() tha modh a’ cleachdadh luachan gus buill sreath cheangail a sheòrsachadh ann an òrdugh dìreadh.
$fruits = array("apple" => "1", "pineapple" => "2", "orange" => "3");
asort($fruits);
print_r($fruits); // ["apple" => "1", "orange" => "3", "pineapple" => "2"]
sgort()
Tha ksort()
gnìomh a’ seòrsachadh eileamaidean de raon ceangail ann an òrdugh dìreadh a rèir an iuchraichean.
$fruits = array("apple" => "1", "pineapple" => "2", "orange" => "3");
ksort($fruits);
print_r($fruits); // ["apple" => "1", "orange" => "3", "pineapple" => "2"]
arsort ()
Tha arsort()
gnìomh a’ seòrsachadh eileamaidean de shreath cheangail ann an òrdugh teàrnaidh a rèir luachan.
$fruits = array("apple" => "1", "pineapple" => "2", "grapefruit" => "1");
arsort($fruits);
print_r($fruits); // ["grapefruit" => "1", "pineapple" => "2", "apple" => "1"]
Gnìomhan Deasachaidh Array Eile
A thuilleadh air an uchd() gnìomh, tha PHP cuideachd a’ toirt seachad grunn ghnìomhan eile airson arrays a sheòrsachadh, leithid:
- crsort(): a’ rèiteach sreath cheangail ann an òrdugh teàrnaidh a rèir a h-iuchraichean
- claoidh(): a’ rèiteachadh raon a’ cleachdadh gnìomh coimeas a tha air a mhìneachadh leis a’ chleachdaiche
- uasort(): a’ rèiteach raon ceangail a’ cleachdadh gnìomh coimeas a tha air a mhìneachadh leis a’ chleachdaiche, a’ gleidheadh prìomh chàraidean luach
- uksort(): a 'seòrsachadh raon ceangail
Q&A
C: Dè an diofar eadar na gnìomhan “sort” agus “rsort” ann am PHP airson arrays?
A: Bidh an gnìomh “seòrsa” a’ seòrsachadh eileamaidean sreath ann an òrdugh dìreadh, fhad ‘s a tha an gnìomh“ rsort ”a’ seòrsachadh na h-eileamaidean ann an òrdugh teàrnaidh.
C: Ciamar a tha an gnìomh “asort” eadar-dhealaichte bhon ghnìomh “sort”?
A: Bidh an gnìomh “asort” a’ seòrsachadh eileamaidean eagrachaidh a rèir an luachan fhad ‘s a tha iad a’ gleidheadh na dàimh prìomh-luach. Bidh an gnìomh “seòrsa”, air an làimh eile, a’ rèiteach na nithean a tha stèidhichte air na luachan aca, ach bidh e ag ath-òrdachadh nan iuchraichean agus dh’ fhaodadh e dragh a chuir air a’ cheangal eadar iuchraichean is luachan.
C: An urrainn dhut an gnìomh “ksort” ann am PHP a mhìneachadh?
A: Bidh an gnìomh “ksort” a’ seòrsachadh buill rèite a rèir na h-iuchraichean aca. Tha na nithean air an ath-òrdachadh ann an òrdugh dìreadh stèidhichte air na prìomh luachan.
C: A bheil dòigh ann sreath a sheòrsachadh ann an dòigh nach eil mothachail air cùis?
A: Faodaidh, faodaidh tu an gnìomh “sort” no “asort” a chleachdadh leis a’ bhratach SORT_FLAG_CASE. Mar eisimpleir: “seòrsa ($ array, SORT_FLAG_CASE);”
C: An urrainn dhut an gnìomh “usort” a chleachdadh gus sreath de nithean a sheòrsachadh?
F: Tha, le bhith a’ toirt seachad gnìomh gairm air ais a nì coimeas eadar na nithean, faodar an dòigh “usort” a chleachdadh gus sreath de nithean a sheòrsachadh. Gus òrdugh nan co-phàirtean a chomharrachadh, bu chòir don ghnìomh gairm air ais àireamh iomlan àicheil, neoni no dearbhach a thilleadh.
C: An urrainn dhut sreath ceangail a sheòrsachadh a rèir luach gun na h-iuchraichean atharrachadh?
F: Faodaidh, faodaidh tu gnìomh “asort” a chleachdadh gus raon ceangail a sheòrsachadh a rèir luach gun a bhith ag atharrachadh na h-iuchraichean.
Eacarsaichean:
- Ciamar a chuireas tu sreath ann an òrdugh dìreadh?
- Ciamar a chuireas tu sreath ann an òrdugh teàrnaidh?
- Ciamar as urrainn dhut sreath de dh’ arrays ceangail a sheòrsachadh a rèir luach aon de na h-iuchraichean?
- Ciamar as urrainn dhut sreath de nithean a sheòrsachadh a rèir aon de na feartan aca?
- Sgrìobh sgriobt a bhios a’ rèiteach sreath de shreathan ann an òrdugh na h-aibideil, gun chùis.
Freagairtean:
- seòrsa ($array);
- rsort ($array);
- usort($array, function($a, $b) { tilleadh $a['key'] <=> $b['key']; });
- usort($array, function($a, $b) { tilleadh $a->property <=> $b->property; });
- usort($array, 'strcasecmp');
Gnìomhan rèitichean PHP oifigeil iomradh.