Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΠΏΠΎ PHPΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 7

Автор white cat

Ѐункция поддСрТиваСтся PHP 4, PHP 5


uasort


ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ сортировка ассоциативного массива с сохранСниСм индСксных ассоциаций.

Бинтаксис:

bool uasort(array arr, function cmp_function)

Ѐункция uasort() сортируСт массив arr с сохранСниСм индСксных ассоциаций, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ для сравнСния индСксов элСмСнтов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ cmp_function.

Π­Ρ‚Π° функция ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠΎΠ³Π΄Π° соотвСтствиС индСксов ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ массива сущСствСнно.

Ѐункция uasort() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true Π² случаС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ сортировки, ΠΈ false Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ usort() ΠΈ uksort() для написания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Ѐункция поддСрТиваСтся PHP 3 =3.0.4, PHP 4, PHP 5


uksort


ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ сортировка массива ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π°ΠΌ.

Бинтаксис:

bool uksort(array arr, function cmp_function)

Ѐункция uksort() сортируСт массив arr ΠΏΠΎ индСксам с сохранСниСм индСксных ассоциаций, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ для сравнСния индСксов элСмСнтов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π΅ cmp_function. Π’ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π΄Π²Π° сравниваСмых индСкса элСмСнтов, Π° ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число ΠΈΠ»ΠΈ 0.

Ѐункция uksort() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true Π² случаС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ сортировки, ΠΈ FALSE Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС.

Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ часто Π½Π°ΠΌ приходится ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎ Π±ΠΎΠ»Π΅Π΅ слоТному ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡŽ, Ρ‡Π΅ΠΌ просто ΠΏΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚Ρƒ. НапримСр, ΠΏΡƒΡΡ‚ΡŒ Π² $Files Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ список ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΌΡ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ вывСсти этот список Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² лСксографичСском порядкС, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Π»ΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌ. Π’ этом случаС Π½Π°ΠΌ стоит Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ uksort(), написав ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ сравнСния с двумя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ³ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ uksort().

1 ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ uksort():

// Π­Ρ‚Π° функция Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ значСния $f1 ΠΈ $f2 ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ:

// -1, Ссли $f1<$f2,

// 0, Ссли $f1==$f2

// 1, Ссли $f1>$f2

// Под < ΠΈ > ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ слСдованиС этих ΠΈΠΌΠ΅Π½ Π² Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠΌ спискС

function FCmp($f1,$f2)

{ // ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ всСгда ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρƒ

if(is_dir($f1) && !is_dir($f2)) return -1;

// Π€Π°ΠΉΠ» всСгда ΠΈΠ΄Π΅Ρ‚ послС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°

if(!is_dir($f1) && is_dir($f2)) return 1;

// Π˜Π½Π°Ρ‡Π΅ сравниваСм лСксиграфичСски

if($f1<$f2) return -1; elseif($f1>$f2) return 1; else return 0;

}

// ΠŸΡƒΡΡ‚ΡŒ $Files содСрТит массив с ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ - ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²

// Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. ΠžΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π³ΠΎ.

uksort($Files,"FCmp"); //ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ сортировки "ΠΏΠΎ ссылкС"


2 ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ uksort():

<?php

function cmp($a, $b)

{

if ($a == $b) {

return 0;

}

return ($a > $b) ? -1 : 1;

}


$a = array(4 => "four", 3 => "three", 20 => "twenty", 10 => "ten");


uksort($a, "cmp");


while (list($key, $value) = each($a)) {

echo "$key: $valuen";

}

?>

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚:

20: twenty10: ten4: four3: three

Ѐункция поддСрТиваСтся PHP 3 =3.0.4, PHP 4, PHP 5


usort


ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π΅Ρ‚Π»ΡŒΡΠΊΠ°Ρ сортировка Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ массива.

Бинтаксис:

bool usort(array arr, callback cmp_function)

Ѐункция usort() сортируСт массив arr Π±Π΅Π· сохранСня индСксных ассоциаций, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ для сравнСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π΅ cmp_function. Π’ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π΄Π²Π° сравниваСмых индСкса элСмСнтов, Π° ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число ΠΈΠ»ΠΈ 0.

Π­Ρ‚Π° функция ΠΊΠ°ΠΊ Π±Ρ‹ являСтся "Π³ΠΈΠ±Ρ€ΠΈΠ΄ΠΎΠΌ" Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ uasort() ΠΈ sort(). ΠžΡ‚ sort() ΠΎΠ½Π° отличаСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ сравнСния обСспСчиваСтся ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ. А ΠΎΡ‚ uasort() - Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π΅ сохраняСт связСй ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΠΈ значСниями, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Π° Ρ€Π°Π·Π²Π΅ Ρ‡Ρ‚ΠΎ для сортировки списков.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ usort():

<?php

function cmp($a, $b)

{

if ($a == $b) {

return 0;

}

return ($a < $b) ? -1 : 1;

}


$a = array(3, 2, 5, 6, 1);


usort($a, "cmp");


while (list($key, $value) = each($a)) {

echo "$key: $valuen";

}

?>

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива:

function cmp($a, $b) {

if($a==$b) return 0;

return ($a > $b) ? -1 : 1;

}

$a=array (3,2,5,6,1);

usort($a, "cmp");

while(list($key,$val)=each($a)) {

echo "$key: $valn";

}


ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½ΠΎ:

0: 61: 52: 33: 24: 1

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива:

function cmp($a,$b) {

return strcmp($a["fruit"],$b["fruit"]);

};

$fruit[0]["fruit"]="lemons";

$fruit[1]["fruit"]="apples";

$fruit[2]["fruit"]="grapes";


usort($fruit, "cmp");


while(list($key,$val)=each($fruit)) {

echo "$fruit[$key]:".$val["fruit"]."n";

}


ΠŸΡ€ΠΈ сортировкС ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов $a ΠΈ $b содСрТит ссылки Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ индСкс массива.

Π‘ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½ΠΎ:

$fruit[0]: apples$fruit[1]: grapes$fruit[2]: lemons

Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

<?php

function arr_sort($a,$b) {

list($key1,$val)=each($a);

list($key2,$val)=each($b);

return strcmp($a[$key1],$b[$key2]);

};


$arr[0]["1-Ρ‹ΠΉ элСмСнт"]="яблока";

$arr[1]["2-Ρ‹ΠΉ элСмСнт"]="Π³Ρ€ΡƒΡˆΠ°";

$arr[2]["3-Ρ‹ΠΉ элСмСнт"]="пСрсик";

$arr[3]["4-Ρ‹ΠΉ элСмСнт"]="дыня";

$arr[4]["5-Ρ‹ΠΉ элСмСнт"]="ΠΌΠ°Π»ΠΈΠ½Π°";

$arr[5]["6-Ρ‹ΠΉ элСмСнт"]="ананас";


usort($arr,"arr_sort");


echo "<pre>";

print_r($arr);

echo "</pre>";

?>

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ скрипт Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Array( [0] => Array ( [6-Ρ‹ΠΉ элСмСнт] => ананас ) [1] => Array ( [2-Ρ‹ΠΉ элСмСнт] => Π³Ρ€ΡƒΡˆΠ° ) [2] => Array ( [4-Ρ‹ΠΉ элСмСнт] => дыня ) [3] => Array ( [5-Ρ‹ΠΉ элСмСнт] => ΠΌΠ°Π»ΠΈΠ½Π° ) [4] => Array ( [3-Ρ‹ΠΉ элСмСнт] => пСрсик ) [5] => Array ( [1-Ρ‹ΠΉ элСмСнт] => яблока ))

Ѐункция поддСрТиваСтся PHP 3 =3.0.3, PHP 4, PHP 5


array_multisort


Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… массивов ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива.

Бинтаксис:

bool array_multisort(array ar1, [, mixed arg [, mixed ... [, array ...]]])

Ѐункция array_multisort() сортируСт сразу нСсколько массивов ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы с сохранСниСм индСксной ассоциации, возвращая true ΠΏΡ€ΠΈ отсутствии ошибок.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ массивы Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ столбцы Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, сортируСмой построчно. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ массивы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ число элСмСнтов, ΠΈ взаимосвязь ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ, ΠΊΠ°ΠΊ Π² строках Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, сохраняСтся. ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ сортировки ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ массивы. Π€Π»Π°Π³ΠΈ сортировки ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠΊΠ°Π·Π²Π°Ρ‚ΡŒΡΡ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ массива, ΠΈ ΠΈΡ… дСйствиС распространяСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ‚ΠΎΡ‚ массив, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ½ΠΈ ΡƒΠΊΠ°Π·Π°Π½Ρ‹.

Π€Π»Π°Π³ΠΈ опрСдСлСния порядка сортировки:

Π€Π»Π°Π³ΠΈ Ρ‚ΠΈΠΏΠ° сортировки:

Π£Π°Π·Π°Π½ΠΈΠ΅ нСсколько Ρ„Π»Π°Π³ΠΎΠ² сортировки послС ΠΎΠ΄Π½ΠΎΠ³ΠΎ массива нСдопустимо. Π€Π»Π°Π³ΠΈ сортировки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΡŽΡ‚ΡΡ послС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° arr ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ этому Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρƒ. Если послС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Ρ„Π»Π°Π³ΠΈ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹, Ρ‚ΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ Ρ„Π»Π°Π³ΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (SORT_ASC, SORT_REGULAR).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ array_multisort():

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… массивов

ar1 = array("10", 100, 100, "a");

ar2 = array(1, 3, "2", 1);

array_multisort($ar1, $ar2);

// $ar1 = array("10", "a", 100, 100);

// $ar2 = array(1, 1, "2", 3);


Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ массива, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ элСмСнтам (100 ΠΈ 100) ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ массива, Ρ‚Π°ΠΊΠΆΠ΅ отсортированны.

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива

$ar = array(array("10", 100, 100, "a"), array(1, 3, "2", 1));

array_multisort($ar[0], SORT_ASC, SORT_STRING,

$ar[1], $SORT_NUMERIC, SORT_DESC);


// $ar[0] = ("10", 100, 100, "a") - ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ строки ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ

// $ar[1] = (1, 3, "2", 1) - ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ числа ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ


Ѐункция поддСрТиваСтся PHP 4, PHP 5

ΠšΡƒΡ€ΡΠΎΡ€ массива


reset


ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ сброс курсора массива.

Бинтаксис:

mixed reset(array arr)

Ѐункция reset() устанавливаСт Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ курсор массива arr Π½Π° Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»ΠΎ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ элСмСнта.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ reset():

<?php

$array = array("step one", "step two", "step three", "step four");

// by default, the pointer is on the first element

echo current($array) . "<br />n"; // "step one"


// skip two steps

next($array);

next($array);

echo current($array) . "<br />n"; // "step three"

// reset pointer, start again on step one

reset($array);

echo current($array) . "<br />n"; // "step one"

?>

Ѐункция поддСрТиваСтся PHP 3, PHP 4, PHP 5