uasort ֆունկցիա

uasort ֆունկցիան կարգավորում է զանգվածը տարրերի աճման կարգով՝ պահպանելով ասոցիատիվ զանգվածի բանալիները:

uasort ֆունկցիան կարգավորում է զանգվածը տարրերի արժեքով՝ օգտագործելով callback՝ դասավորված զանգվածում տարրերի հերթականությունը որոշելու համար: Ֆունկցիան փոխում է հենց զանգվածը:

Համեմատման ֆունկցիան պետք է վերադարձնի ամբողջ թիվ, որը կախված համեմատության արդյունքից՝ զրոյից փոքր, հավասար կամ մեծ:

Ֆունկցիան փոխում է հենց զանգվածը:

Շարահյուսություն

phpuasort(array &$array, int $flags = SORT_REGULAR): bool

Օրինակ

Եկեք կարգավորենք զանգվածը տարրերի աճման կարգով՝

php<?php
  $arr = [
    'b' => 1,
    'e' => 3,
    'c' => 2,
    'a' => 5,
    'd' => 4,
  ];
  
  function func($a, $b)
  {
    if ($a === $b) {
      return 0;
    } else if ($a < $b) {
      return -1;
    } else {
      return 1;
    }
  }
  
  uasort($arr, 'func');
  var_dump($arr);
?>

Կոդի կատարման արդյունքը՝

php[
  'b' => 1,
  'c' => 2,
  'e' => 3,
  'd' => 4,
  'a' => 5,
]

Օրինակ

Իսկ այժմ կարգավորենք զանգվածը տարրերում սիմվոլների քանակի աճման կարգով՝

php<?php
  $arr = [
    'a' => '123',
    'b' => '1',
    'c' => '12345',
    'd' => '12',
    'e' => '1234',
  ];
  
  function func($a, $b)
  {
    if (strlen($a) === strlen($b)) {
      return 0;
    } else if (strlen($a) < strlen($b)) {
      return -1;
    } else {
      return 1;
    }
  }
  
  uasort($arr, 'func');
  var_dump($arr);
?>

Կոդի կատարման արդյունքը՝

php[
  'b' => '1',
  'd' => '12',
  'a' => '123',
  'e' => '1234',
  'c' => '12345',
]

Տես նաև

  • sort ֆունկցիան,
    որը կարգավորում է տարրերի աճման կարգով
  • rsort ֆունկցիան,
    որը կարգավորում է տարրերի նվազման կարգով
  • ksort ֆունկցիան,
    որը կարգավորում է բանալիների աճման կարգով
  • krsort ֆունկցիան,
    որը կարգավորում է բանալիների նվազման կարգով
  • asort ֆունկցիան,
    որը կարգավորում է տարրերի աճման կարգով՝ պահպանելով բանալիները
  • arsort ֆունկցիան,
    որը կարգավորում է տարրերի նվազման կարգով՝ պահպանելով բանալիները
  • natsort ֆունկցիան,
    որը կարգավորում է բնական կարգով
  • natcasesort ֆունկցիան,
    որը կարգավորում է բնական կարգով՝ առանց տառի հերթականության
  • usort ֆունկցիան,
    որը կարգավորում է callback-ի միջոցով
  • uksort ֆունկցիան,
    որը կարգավորում է callback-ի միջոցով՝ ըստ բանալիների
  • uasort ֆունկցիան,
    որը կարգավորում է callback-ի միջոցով՝ պահպանելով բանալիները
  • array_multisort ֆունկցիան,
    որը կարգավորում է մի քանի զանգվածներ