PHP-യിൽ അറേ അടുക്കുന്നു

PHP-യിലെ അറേകൾ
PHP-യിലെ HTTP അഭ്യർത്ഥന രീതികൾ

പി‌എച്ച്‌പിയിലെ ഒരു സങ്കീർണ്ണമായ ഡാറ്റാ ഘടനയാണ് അറേകൾ, അത് ഒരു വേരിയബിളിൽ നിരവധി മൂല്യങ്ങൾ സംഭരിക്കാനും നിയന്ത്രിക്കാനും ഡവലപ്പർമാരെ പ്രാപ്‌തമാക്കുന്നു. അടിസ്ഥാന അറേ പ്രവർത്തനങ്ങൾക്ക് പുറമേ അറേകൾ അടുക്കുന്നതിനും കൈകാര്യം ചെയ്യുന്നതിനുമുള്ള രീതികളുടെ ഒരു ശേഖരം PHP ഉൾക്കൊള്ളുന്നു. ഈ പോസ്റ്റിൽ, PHP 8-ൽ ലഭ്യമായ ഏറ്റവും സാധാരണമായ PHP അറേ സോർട്ടിംഗ് ഫംഗ്ഷനുകൾ ഞങ്ങൾ നോക്കും.

സോർട്ടിംഗ് ഫംഗ്ഷനുകൾ

അറേകൾ അടുക്കുന്നതിന് PHP നിരവധി ബിൽറ്റ്-ഇൻ ഫംഗ്ഷനുകൾ നൽകുന്നു, ഇനിപ്പറയുന്നവ ഉൾപ്പെടെ:

അടുക്കുക ()

ദി അടുക്കുക() രീതി അറേ അംഗങ്ങളെ ആരോഹണ ക്രമത്തിൽ ക്രമീകരിക്കുന്നു. അറേയിൽ ഒരു ഘടകം മാത്രമേ ഉള്ളൂ എങ്കിൽ, അത് അതേ അറേ നൽകുന്നു. വിജയിക്കുമ്പോൾ അത് ശരിയാകും. മറ്റെല്ലാ സാഹചര്യങ്ങളിലും ഇത് തെറ്റായി നൽകുന്നു.

$numbers = array(4, 8, 12, 16, 20);
sort($numbers);
print_r($numbers); // [4, 8, 12, 16, 20]

rsort()

ദി rsort() ഫംഗ്ഷൻ വിപരീതമാണ് sort() പ്രവർത്തനം. ഇത് ഒരു ശ്രേണിയുടെ ഘടകങ്ങളെ അവരോഹണ ക്രമത്തിൽ അടുക്കുന്നു.

Copy code$numbers = array(4, 16, 12, 20, 11);
rsort($numbers);
print_r($numbers); // [20, 16, 12, 11, 4]

തരം ()

ദി തരംതിരിക്കുക() ഒരു അസോസിയേറ്റീവ് അറേയിലെ അംഗങ്ങളെ ആരോഹണ ക്രമത്തിൽ അടുക്കാൻ രീതി മൂല്യങ്ങൾ ഉപയോഗിക്കുന്നു.

$fruits = array("apple" => "1", "pineapple" => "2", "orange" => "3");
asort($fruits);
print_r($fruits); // ["apple" => "1", "orange" => "3", "pineapple" => "2"]

ksort()

ദി ksort() ഫംഗ്ഷൻ ഒരു അസോസിയേറ്റീവ് അറേയുടെ ഘടകങ്ങളെ ആരോഹണ ക്രമത്തിൽ ക്രമപ്പെടുത്തുന്നു കീകൾ.

$fruits = array("apple" => "1", "pineapple" => "2", "orange" => "3");
ksort($fruits);
print_r($fruits); // ["apple" => "1", "orange" => "3", "pineapple" => "2"]

ആയുധം()

ദി arsort() ഫംഗ്ഷൻ ഒരു അസോസിയേറ്റീവ് അറേയുടെ മൂലകങ്ങളെ മൂല്യങ്ങൾക്കനുസരിച്ച് അവരോഹണ ക്രമത്തിൽ അടുക്കുന്നു.

$fruits = array("apple" => "1", "pineapple" => "2", "grapefruit" => "1");
arsort($fruits);
print_r($fruits); // ["grapefruit" => "1", "pineapple" => "2", "apple" => "1"]

മറ്റ് അറേ സോർട്ടിംഗ് പ്രവർത്തനങ്ങൾ

കൂടാതെ ആയുധം() ഫംഗ്‌ഷൻ, അറേകൾ അടുക്കുന്നതിന് PHP മറ്റ് നിരവധി ഫംഗ്‌ഷനുകളും നൽകുന്നു, ഇനിപ്പറയുന്നവ:

  • krsort(): ഒരു അസോസിയേറ്റീവ് അറേ അതിന്റെ കീകൾക്കനുസരിച്ച് അവരോഹണ ക്രമത്തിൽ അടുക്കുന്നു
  • ഉപയോഗിക്കുക(): ഉപയോക്തൃ-നിർവചിച്ച താരതമ്യ ഫംഗ്‌ഷൻ ഉപയോഗിച്ച് ഒരു അറേ അടുക്കുന്നു
  • uasort(): ഉപയോക്തൃ-നിർവചിച്ച താരതമ്യ ഫംഗ്‌ഷൻ ഉപയോഗിച്ച് ഒരു അസോസിയേറ്റീവ് അറേ അടുക്കുന്നു, കീ-വാല്യൂ ജോഡികൾ സംരക്ഷിക്കുന്നു
  • uksort(): ഒരു അസോസിയേറ്റീവ് അറേ അടുക്കുന്നു

ചോദ്യോത്തരങ്ങൾ

ചോദ്യം: അറേകൾക്കുള്ള PHP-യിലെ "sort", "rsort" ഫംഗ്‌ഷനുകൾ തമ്മിലുള്ള വ്യത്യാസം എന്താണ്?
A: "sort" ഫംഗ്‌ഷൻ ഒരു അറേയുടെ ഘടകങ്ങളെ ആരോഹണ ക്രമത്തിൽ അടുക്കുന്നു, അതേസമയം "rsort" ഫംഗ്‌ഷൻ ഘടകങ്ങളെ അവരോഹണ ക്രമത്തിൽ അടുക്കുന്നു.

ചോദ്യം: "അസോർട്ട്" ഫംഗ്‌ഷൻ "സോർട്ട്" ഫംഗ്‌ഷനിൽ നിന്ന് എങ്ങനെ വ്യത്യാസപ്പെട്ടിരിക്കുന്നു?
A: "asort" ഫംഗ്‌ഷൻ, കീ-വാല്യൂ ബന്ധം സംരക്ഷിക്കുമ്പോൾ അവയുടെ മൂല്യങ്ങളെ ആശ്രയിച്ച് അറേ ഘടകങ്ങളെ അടുക്കുന്നു. നേരെമറിച്ച്, "സോർട്ട്" ഫംഗ്ഷൻ, ഇനങ്ങളെ അവയുടെ മൂല്യങ്ങളെ അടിസ്ഥാനമാക്കി അടുക്കുന്നു, എന്നാൽ ഇത് കീകൾ പുനഃക്രമീകരിക്കുകയും കീകളും മൂല്യങ്ങളും തമ്മിലുള്ള ബന്ധത്തെ തടസ്സപ്പെടുത്തുകയും ചെയ്യും.

ചോദ്യം: PHP-യിലെ "ksort" ഫംഗ്‌ഷൻ വിശദീകരിക്കാമോ?
A: "ksort" ഫംഗ്‌ഷൻ അറേ അംഗങ്ങളെ അവരുടെ കീകളെ ആശ്രയിച്ച് അടുക്കുന്നു. പ്രധാന മൂല്യങ്ങളെ അടിസ്ഥാനമാക്കി ഇനങ്ങൾ ആരോഹണ ക്രമത്തിൽ പുനഃക്രമീകരിക്കുന്നു.

ചോദ്യം: ഒരു അറേയെ കേസ്-ഇൻസെൻസിറ്റീവ് രീതിയിൽ അടുക്കാൻ എന്തെങ്കിലും വഴിയുണ്ടോ?
A: അതെ, നിങ്ങൾക്ക് SORT_FLAG_CASE ഫ്ലാഗ് ഉപയോഗിച്ച് "സോർട്ട്" അല്ലെങ്കിൽ "അസോർട്ട്" ഫംഗ്ഷൻ ഉപയോഗിക്കാം. ഉദാഹരണത്തിന്: "sort($array, SORT_FLAG_CASE);"

ചോദ്യം: ഒബ്‌ജക്‌റ്റുകളുടെ ഒരു നിര അടുക്കാൻ നിങ്ങൾക്ക് “usort” ഫംഗ്‌ഷൻ ഉപയോഗിക്കാമോ?
A: അതെ, ഇനങ്ങളെ താരതമ്യം ചെയ്യുന്ന ഒരു കോൾബാക്ക് ഫംഗ്‌ഷൻ നൽകുന്നതിലൂടെ, ഒബ്‌ജക്റ്റുകളുടെ ഒരു നിര അടുക്കാൻ “usort” രീതി ഉപയോഗിച്ചേക്കാം. ഘടകങ്ങളുടെ ക്രമം തിരിച്ചറിയാൻ, കോൾബാക്ക് ഫംഗ്‌ഷൻ ഒരു നെഗറ്റീവ്, പൂജ്യം അല്ലെങ്കിൽ പോസിറ്റീവ് പൂർണ്ണസംഖ്യ നൽകണം.

ചോദ്യം: കീകൾ മാറ്റാതെ മൂല്യമനുസരിച്ച് നിങ്ങൾക്ക് ഒരു അസോസിയേറ്റീവ് അറേ അടുക്കാനാകുമോ?
A: അതെ, കീകൾ മാറ്റാതെ തന്നെ മൂല്യമനുസരിച്ച് ഒരു അസോസിയേറ്റീവ് അറേ അടുക്കാൻ നിങ്ങൾക്ക് "asort" ഫംഗ്‌ഷൻ ഉപയോഗിക്കാം.

വ്യായാമങ്ങൾ:

  1. നിങ്ങൾക്ക് എങ്ങനെയാണ് ആരോഹണ ക്രമത്തിൽ ഒരു അറേ അടുക്കാൻ കഴിയുക?
  2. നിങ്ങൾക്ക് എങ്ങനെ അവരോഹണ ക്രമത്തിൽ ഒരു അറേ അടുക്കാനാകും?
  3. ഒരു കീയുടെ മൂല്യമനുസരിച്ച് നിങ്ങൾക്ക് എങ്ങനെ അസോസിയേറ്റീവ് അറേകളുടെ ഒരു ശ്രേണി ക്രമീകരിക്കാനാകും?
  4. ഒബ്‌ജക്‌റ്റുകളുടെ ഒരു നിരയെ അവയുടെ പ്രോപ്പർട്ടികളിൽ എങ്ങനെ തരംതിരിക്കാം?
  5. സ്ട്രിംഗുകളുടെ ഒരു നിരയെ അക്ഷരമാലാക്രമത്തിൽ, കേസ്-ഇൻസെൻസിറ്റീവ് ആയി അടുക്കുന്ന ഒരു സ്ക്രിപ്റ്റ് എഴുതുക.

ഉത്തരങ്ങൾ:

  1. അടുക്കുക ($ അറേ);
  2. rsort($array);
  3. usort($array, function($a, $b) {$a['key'] <=> $b['key']; });
  4. usort($array, function($a, $b) {$a->property <=> $b->property; }) തിരികെ;
  5. usort($array, 'strcasecmp');

ഔദ്യോഗിക PHP അറേ പ്രവർത്തനങ്ങൾ സൂചന.

PHP-യിലെ അറേകൾ
PHP-യിലെ HTTP അഭ്യർത്ഥന രീതികൾ
en English
X
ടോപ്പ് സ്ക്രോൾ