<?
$del_items = array("langs" => array(
"10"=>"Python", "12"=>"Lisp"),
"other"=>"ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ°");
echo count($del_items) . "<br>";
// Π²ΡΠ²Π΅Π΄Π΅Ρ 2
echo count($del_items,COUNT_RECURSIVE);
// Π²ΡΠ²Π΅Π΄Π΅Ρ 4
?>
ΠΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ Π²ΡΠ΅, ΡΡΠΎ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°Ρ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π»Π΅ΠΊΡΠΈΡΡ . Π ΡΡΠΎΠΉ Π»Π΅ΠΊΡΠΈΠΈ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ. Π Π½Π°ΡΠ½Π΅ΠΌ ΠΌΡ Ρ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅.
Π€ΡΠ½ΠΊΡΠΈΡ in_array
in_array("ΠΈΡΠΊΠΎΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅","ΠΌΠ°ΡΡΠΈΠ²",
["ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΠΏ"]);
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π»ΠΈ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΈΡΠΊΠΎΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΡΡΠ΅ΡΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π·Π°Π΄Π°Π½ ΠΊΠ°ΠΊ true, ΡΠΎ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠΉ Ρ ΠΈΡΠΊΠΎΠΌΡΠΌ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΈ ΠΏΠΎ ΡΠΈΠΏΡ. ΠΡΠ»ΠΈ ΠΈΡΠΊΠΎΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β ΡΡΡΠΎΠΊΠ°, ΡΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ ΡΠ΅Π³ΠΈΡΡΡΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² Π½Π΅ ΠΈΠ·ΡΡΠ΅Π½Π½ΡΡ Π½Π°ΠΌΠΈ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡ Ρ ΠΎΡΠΈΠΌ ΡΠ·Π½Π°ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π»ΠΈ Π² ΡΡΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠ·ΡΠΊ PHP. ΠΠ°ΠΏΠΈΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
<?php
$langs = array("Lisp","Python","Java",
"PHP","Perl");
if (in_array("PHP",$langs))
echo "ΠΠ°Π΄ΠΎ Π±Ρ ΠΈΠ·ΡΡΠΈΡΡ PHP<br>";
// Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ "ΠΠ°Π΄ΠΎ Π±Ρ ΠΈΠ·ΡΡΠΈΡΡ PHP"
if (in_array("php",$langs))
echo "ΠΠ°Π΄ΠΎ Π±Ρ ΠΈΠ·ΡΡΠΈΡΡ php<br>";
// Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΡΠ²Π΅Π΄Π΅Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅
// Π΅ΡΡΡ ΡΡΡΠΎΠΊΠ° "PHP", Π° Π½Π΅ "php"
?>
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΠΊΠΎΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΡΠΏΠ°ΡΡ ΠΈ ΠΌΠ°ΡΡΠΈΠ². ΠΡΠ°Π²Π΄Π°, ΡΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π±ΡΠ»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°Ρ Ρ PHP 4.2.0.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
<?php
$langs = array("Lisp","Python",array("PHP","Java"),"Perl");
if (in_array(array("PHP","Java"),$langs))
echo "ΠΠ°Π΄ΠΎ Π±Ρ ΠΈΠ·ΡΡΠΈΡΡ PHP ΠΈ Java<br>";
?>
Π€ΡΠ½ΠΊΡΠΈΡ array_search
ΠΡΠΎ Π΅ΡΠ΅ ΠΎΠ΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ in_array Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°Π±ΠΎΡΡ array_search Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ°, Π΅ΡΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π°ΠΉΠ΄Π΅Π½, ΠΈ Π»ΠΎΠΆΡ β Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅. Π Π²ΠΎΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Ρ ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ:
array_search("ΠΈΡΠΊΠΎΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅","ΠΌΠ°ΡΡΠΈΠ²",
["ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΠΏ"]);
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ ΡΠ΅Π³ΠΈΡΡΡΡ, Π° Π΅ΡΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΡΠΎ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΡΡ Π΅ΡΠ΅ ΠΈ ΡΠΈΠΏΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠΎ PHP 4.2.0, Π΅ΡΠ»ΠΈ ΠΈΡΠΊΠΎΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π»Π° ΠΎΡΠΈΠ±ΠΊΡ ΠΈΠ»ΠΈ ΠΏΡΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ NULL.
ΠΡΠΈΠΌΠ΅Ρ 7.4. Π’Π΅ΠΏΠ΅ΡΡ, Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΏΡΡΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π·Π½Π°Π΅ΠΌ. ΠΡΠΈΡΠ΅ΠΌ ΠΊΠ»ΡΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΎΠΌΠ΅Ρ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ, ΠΊΠ°ΠΊΠΈΠΌ ΠΏΠΎ ΡΡΠ΅ΡΡ Π±ΡΠ» ΠΈΠ·ΡΡΠ΅Π½ ΡΡΠΎΡ ΡΠ·ΡΠΊ.
<?php
$langs = array("Lisp","Python","Java",
"PHP","Perl");
if (!array_search("PHP",$langs))
echo "ΠΠ°Π΄ΠΎ Π±Ρ ΠΈΠ·ΡΡΠΈΡΡ PHP<br>";
else {
$k = array_search("PHP",$langs);
echo "PHP Ρ ΠΈΠ·ΡΡΠΈΠ»Π° $k β ΠΌ";
}
?>
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΡΡΠΎΡΠΊΡ:
PHP Ρ ΠΈΠ·ΡΡΠΈΠ»Π° 3 β ΠΌ
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°, ΡΠ΅ΠΌ in_array, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΈΡΠΊΠΎΠΌΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π΅ΡΡΡ, Π½ΠΎ ΠΈ ΡΠ·Π½Π°Π΅ΠΌ, Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΎΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ. Π ΡΡΠΎ Π±ΡΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ ΠΈΡΠΊΠΎΠΌΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ? Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ½ΠΊΡΠΈΡ array_search() Π²Π΅ΡΠ½Π΅Ρ ΠΊΠ»ΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈΠ· Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠ»ΡΡΠΈ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π½ΡΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ array_keys().
Π€ΡΠ½ΠΊΡΠΈΡ array_keys
Π€ΡΠ½ΠΊΡΠΈΡ array_keys() Π²ΡΠ±ΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠΎ Ρ Π½Π΅Π΅ ΠΈΠΌΠ΅Π΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ»ΡΡΠ΅ΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΊΠΎΠ²:
array_keys ("ΠΌΠ°ΡΡΠΈΠ²"
[,"Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ°"])
Π€ΡΠ½ΠΊΡΠΈΡ array_keys() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅, ΡΠ°ΠΊ ΠΈ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΡ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π²ΠΈΠ΄Π΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ.
ΠΡΠΈΠΌΠ΅Ρ 7.5. ΠΡ Π·Π°ΠΏΠΈΡΠ°Π»ΠΈ ΠΌΠ°ΡΡΠΈΠ² ΡΠ·ΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΡΡΠΈΠ»ΠΈ. Π‘ΠΏΠΈΡΠΎΠΊ Π±ΡΠ» Π΄Π»ΠΈΠ½Π½ΡΠΌ, ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ·ΡΠΊΠΈ Π±ΡΠ»ΠΈ Π·Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·. Π£ Π½Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΡΠ·ΡΠΊΠΎΠ² β Lisp. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ:
<?php
$langs =
array("Lisp","Python","Java","PHP",
"Perl","Lisp");
$lisp_keys = array_keys($langs,"Lisp");
echo "Lisp Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΠΌΠ°ΡΡΠΈΠ² ".
count($lisp_keys) ." ΡΠ°Π·Π°:<br>";
foreach ($lisp_keys as $val){
echo "ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ $val <br>";
}
?>
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ:
Lisp Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΠΌΠ°ΡΡΠΈΠ² 2 ΡΠ°Π·Π°:
ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ 0
ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ 5
Π€ΡΠ½ΠΊΡΠΈΡ array_keys(), ΠΊΠ°ΠΊ ΠΈ Π΄Π²Π΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅, Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ΅Π³ΠΈΡΡΡΠ°, Ρ.Π΅. ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² LISP Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΎΠ½Π° Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡ. array_keys() ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² PHP4. Π PHP3 Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠ΄ΡΠΌΡΠ²Π°ΡΡ ΡΠ²ΠΎΡ ΡΡΠ½ΠΊΡΠΈΡ.
ΠΡΠ»ΠΈ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²Π°. ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΎΠ½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. ΠΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ array_values(ΠΌΠ°ΡΡΠΈΠ²). ΠΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΅ΠΉ ΠΌΠ°ΡΡΠΈΠ²Π° Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² Π½ΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅Π»ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ, Ρ.Π΅. Π²ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ΅ΡΡΡΡΡΡ, ΠΎΡΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠΎ Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΠΏΡΠΈΠΌΠ΅ΡΡ.
ΠΡΠ°ΠΊ, ΠΌΡ Π²ΡΡΡΠ½ΠΈΠ»ΠΈ, ΡΡΠΎ ΡΠ·ΡΠΊ Lisp ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΡΠΏΠΎΠΌΡΠ½ΡΡ Π² Π½Π°ΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ Π΄Π²Π°ΠΆΠ΄Ρ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΠ·ΡΡΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ·ΡΠΊ Π΄Π²Π°ΠΆΠ΄Ρ Π½Π΅Π»ΡΠ·Ρ (Β«ΡΡΠΈΠ», Π½ΠΎ Π·Π°Π±ΡΠ»Β» Π½Π΅ ΡΡΠΈΡΠ°Π΅ΡΡΡ), ΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΊΠ°ΠΊ-ΡΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ ΡΠ·ΡΠΊΠΎΠ². Π‘Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ array_unique().
Π€ΡΠ½ΠΊΡΠΈΡ array_unique
Π€ΡΠ½ΠΊΡΠΈΡ array_unique(ΠΌΠ°ΡΡΠΈΠ²) ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΌΠ°ΡΡΠΈΠ². Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΊΠΎΠΉ Ρ Π½Π΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ ΠΊΠ»ΡΡ? ΠΠ°ΠΊ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅? ΠΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅. ΠΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΡΡ Π² ΡΡΡΠΎΠΊΠΈ ΠΈ ΡΠΎΡΡΠΈΡΡΡΡΡΡ. ΠΠ°ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠ»ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ.
ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ ΡΠ·ΡΠΊΠΎΠ² Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΈΠ·ΡΡΠ΅Π½Π½ΡΡ .
<?php
$langs =
array("Lisp","Java","Python","Java",
"PHP","Perl","Lisp");
print_r(array_unique($langs));
?>
ΠΠΎΠ»ΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Array ( [0] => Lisp [1] => Java [2]
=> Python [4] => PHP [5] => Perl )
ΠΠ°Π»Π΅Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π·Π°Π΄Π°ΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°.
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ , Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Π΄Π°Π½Π½ΡΡ , Ρ ΡΠ°Π½ΡΡΠΈΡ ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠ°ΠΌΡΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΡ Π·Π°Π΄Π°Ρ. ΠΡΠ»ΠΈ Π² ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ ΡΡΡ Π·Π°Π΄Π°ΡΡ, Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π΄Π΅ΡΡΡΠΊΠΈ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, ΡΠΎ Π² PHP ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.
Π€ΡΠ½ΠΊΡΠΈΡ sort
Π€ΡΠ½ΠΊΡΠΈΡ sort ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
sort (ΠΌΠ°ΡΡΠΈΠ² [, ΡΠ»Π°Π³ΠΈ])
ΠΈ ΡΠΎΡΡΠΈΡΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ², Ρ.Π΅. ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π΅Ρ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ΄Π°Π»ΡΠ΅Ρ Π²ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π²ΡΠΈΠ΅ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΊΠ»ΡΡΠΈ, Π·Π°ΠΌΠ΅Π½ΡΡ ΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ Π½ΠΎΠ²ΠΎΠΌΡ ΠΏΠΎΡΡΠ΄ΠΊΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΎΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ true, ΠΈΠ½Π°ΡΠ΅ β false.
ΠΡΠΈΠΌΠ΅Ρ 7.6. ΠΡΡΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²Π° ΠΌΠ°ΡΡΠΈΠ²Π°: ΡΠ΅Π½Ρ ΡΠΎΠ²Π°ΡΠΎΠ² β ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈ, Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠΎΠ²Π°ΡΠΎΠ² β ΠΈΡ ΡΠ΅Π½Ρ. Π£ΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠΌ ΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΏΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ:
$items = array(10 => "Ρ Π»Π΅Π±", 20 => "ΠΌΠΎΠ»ΠΎΠΊΠΎ",
30 => "Π±ΡΡΠ΅ΡΠ±ΡΠΎΠ΄");
sort($items);
// ΡΡΡΠΎΠΊΠΈ ΡΠΎΡΡΠΈΡΡΡΡΡΡ Π² Π°Π»ΡΠ°Π²ΠΈΡΠ½ΠΎΠΌ
// ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΠΊΠ»ΡΡΠΈ ΡΠ΅ΡΡΡΡΡΡ
print_r($items);
$rev_items = array("Ρ Π»Π΅Π±" => 10,
"Π±ΡΡΠ΅ΡΠ±ΡΠΎΠ΄" => 30, "ΠΌΠΎΠ»ΠΎΠΊΠΎ" => 20);
sort($rev_items);
// ΡΠΈΡΠ»Π° ΡΠΎΡΡΠΈΡΡΡΡΡΡ ΠΏΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ,
// ΠΊΠ»ΡΡΠΈ ΡΠ΅ΡΡΡΡΡΡ
print_r($rev_items);
?>
ΠΠΎΠ»ΡΡΠΈΠΌ:
Array ( [0] => Π±ΡΡΠ΅ΡΠ±ΡΠΎΠ΄ [1] =>
ΠΌΠΎΠ»ΠΎΠΊΠΎ [2] => Ρ Π»Π΅Π± )
Array ( [0] => 10 [1] => 20 [2] => 30 )
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΠ»Π°Π³ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ:
- SORT_REGULAR β ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΎΠ±ΡΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ;
- SORT_NUMERIC β ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΊΠ°ΠΊ ΡΠΈΡΠ»Π°;
- SORT_STRING β ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΠΈ.
Π€ΡΠ½ΠΊΡΠΈΠΈ asort, rsort, arsort
ΠΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΠΎΡΠ»Π΅ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ, ΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ asort (ΠΌΠ°ΡΡΠΈΠ² [, ΡΠ»Π°Π³ΠΈ]). ΠΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Ρ.Π΅. ΠΎΡ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅ΠΌΡ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ rsort (ΠΌΠ°ΡΡΠΈΠ² [, ΡΠ»Π°Π³ΠΈ]). Π Π΅ΡΠ»ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½ΡΠΆΠ½ΠΎ Π΅ΡΠ΅ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ, ΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ arsort(ΠΌΠ°ΡΡΠΈΠ² [, ΡΠ»Π°Π³ΠΈ]). ΠΠ°ΠΊ Π²Ρ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Ρ ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ Ρ ΡΡΠ½ΠΊΡΠΈΠΈ sort. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π°Π³ΠΎΠ² ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΆΠ΅, ΠΊΠ°ΠΊ Ρ sort: SORT_REGULAR, SORT_NUMERIC, SORT_STRING. ΠΡΡΠ°ΡΠΈ Π³ΠΎΠ²ΠΎΡΡ, ΡΠ»Π°Π³ SORT_NUMERIC ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² PHP4.