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

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

Автор white cat

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

<?php

$arr = array(0 => 100, "color" => "red", 15);

print_r(array_keys($arr));


$arr = array("blue", "red", "green", "blue", "blue");

print_r(array_keys($arr, "blue"));


$array = array ("color" => array("blue", "red", "green"), "size" => array("small", "medium", "large"));

print_r(array_keys ($array));

?>

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Array( [0] => 0 [1] => color)Array( [0] => 0 [1] => 3 [2] => 4)Array( [0] => color [1] => size)

Ѐункция array_keys() появилась Π² PHP 4.

Π•Π΅ эквивалСнт для PHP 3:

function array_keys ($arr, $term="") {

$t = array();

while (list($k,$v) = each($arr)) {

if ($term && $v != $term) {

continue;

}

$t[] = $k;

}

return $t;

}


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


array_values


Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ассоциативных индСксов массива.

Бинтаксис:

array array_values(array arr)

Ѐункция array_values() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список всСх Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ассоциативном массивС arr. ΠŸΡ€ΠΈ этом ΠΎΠ½Π° замСняСт всС строковыС ΠΊΠ»ΡŽΡ‡ΠΈ Π½Π° числовыС.

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

$arr = array("size" => "XL", "color" => "gold");

print_r(array_values($arr));


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

Array( [0] => XL [1] => gold)

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


in_array


ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ массива Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ значСния.

Бинтаксис:

bool in_array ( mixed needle, array haystack [, bool strict])

Ѐункция in_array() Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ TRUE, Ссли Π² массивС haystack содСрТится элСмСнт со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ needle, ΠΈ FALSE Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС.

Если ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ strict Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ TRUE, Ρ‚ΠΎ функция in_array() ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ needle являСтся строкой, Ρ‚ΠΎ ΠΏΡ€ΠΈ сравнСнии рСгистр символов учитываСтся.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π’ PHP вСрсии Π½ΠΈΠΆΠ΅ 4.2.0 ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ needle Π½Π΅ ΠΌΠΎΠ³ Π±Ρ‹Ρ‚ΡŒ массивом.

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

<?php

$os = array("Mac", "NT", "Irix", "Linux");

if (in_array("Irix", $os)) {

echo "Got Irix";

}

if (in_array("mac", $os)) {

echo "Got mac";

}

?>

Π’Ρ‚ΠΎΡ€ΠΎΠ΅ условиС Π½Π΅ сработаСт, Ρ‚.ΠΊ. поиск Π² массивС ΠΈΠ΄Π΅Ρ‚ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ рСгистра.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚:

Got Irix

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ in_array(): ИспользованиС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° strict

<?php

$a = array(array("p", "h"), array("p", "r"), "o");


if (in_array(array("p", "h"), $a)) {

echo "ph was foundn";

}


if (in_array(array("f", "i"), $a)) {

echo "fi was foundn";

}


if (in_array("o", $a)) {

echo "o was foundn";

}

?>

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚:

ph was found o was found

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


array_count_values


Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ массива.

Бинтаксис:

array array_count_values(array arr)

Π­Ρ‚Π° функция подсчитываСт, сколько Ρ€Π°Π· ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ встрСчаСтся Π² массивС arr, ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ассоциативный массив с ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ - элСмСнтами массива ΠΈ значСниями - количСством ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΎΠ² этих элСмСнтов. Π˜Π½Ρ‹ΠΌΠΈ словами, функция array_count_values() подсчитываСт частоту появлСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² массивС arr.

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

$arr = array(1, "hello", 1, "world", "hello");

print_r(array_count_values($arr));


ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Array( [1] => 2 [hello] => 2 [world] => 1)

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


sizeof


Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ число элСмСнтов массива.

Бинтаксис:

int sizeof(array arr)

Ѐункция sizeof() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство элСмСнтов Π² массивС arr Π½Π° ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ дСйствия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ count().


count


Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ число элСмСнтов Π² массивС ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅.

Бинтаксис:

int count(mixed var [, int mode])

Ѐункция count() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ число элСмСнтов Π² массивС ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ var. Π’ случаС, Ссли var - скалярная пСрСмСнная, Ρ‚ΠΎ функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 1, Ссли такая пСрСмСнная сущСствуСт, ΠΈΠ»ΠΈ 0, Ссли Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅Ρ‚.

Надо ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ 0 возвращаСтся ΠΈ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΡƒΠΊΠ°Π·Π°Π½ массив, Π½Π΅ содСрТащий элСмСнтов (NULL).

Если Π·Π°Π΄Π°Π½ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ mode, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ подсчитано ΠΎΠ±Ρ‰Π΅Π΅ количСство элСмСнтов Π² массивС. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ количСства элСмСнтов Π² ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивах.

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

<?php

$a[0] = 1;

$a[1] = 3;

$a[2] = 5;

$result = count($a);

// $result == 3


$b[0] = 7;

$b[5] = 9;

$b[10] = 11;

$result = count($b);

// $result == 3;

?>

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

<?php

$food = array("fruits" => array("orange", "banana", "apple"),

"veggie" => array("carrot", "collard", "pea"));


// recursive count

echo count($food, COUNT_RECURSIVE); // Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ 8


// normal count

echo count($food); // Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ 2

?>

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


array_sum


Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ сумму всСх элСмСнтов массива.

Бинтаксис:

mixed array_sum(array arr)

Ѐункция array_sum() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ сумму всСх числовых элСмСнтов массива. ΠžΡ‚ Ρ‚ΠΈΠΏΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² массивС зависит Ρ‚ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ числа (integer ΠΈΠ»ΠΈ float).

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

<?php

$a = array(2, 4, 6, 8);

echo "sum(a) = " . array_sum($a) . "<BR>";


$b = array("a" => 1.2, "b" => 2.3, "c" => 3.4);

echo "sum(b) = " . array_sum($b) . "<BR>";

?>

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

sum(a) = 20sum(b) = 6.9

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


array_rand


ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΡƒΡŽ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ индСксов массива.

Бинтаксис:

mixed array_rand(array arr [, int num_req])

Ѐункция array_rand() Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ нСсколько случайных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· массива. Π­Ρ‚Π° функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π² массивС Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ индСксы элСмСнтов массива arr.

АргумСнт num_req ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ число Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… индСксов. Π’ случаС, Ссли выбираСтся ΠΎΠ΄ΠΈΠ½ элСмСнт, Ρ‚ΠΎ функция array_rand() Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ случайный ΠΊΠ»ΡŽΡ‡ Π² Π²ΠΈΠ΄Π΅ значСния.

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

<?php

srand((double)microtime() *1000000);

// здСсь ΠΌΡ‹ ΠΏΡ€ΠΎΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ случайных чисСл

$arr = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");

$rand_keys = array_rand($arr, 2);

echo $arr[$rand_key[0]]."<BR>";

echo $arr[$rand_key[1]]."<BR>";

?>

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


array_change_key_case


Ѐункция устанавливаСт значСния ΠΊΠ»ΡŽΡ‡Π΅ΠΉ массива Π² Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ½ΠΈΠΉ рСгистр.

Бинтаксис:

array array_change_key_case(array arr[, int registr])

Ѐункция array_change_key_case() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ исходный массив arr, ΠΊΠ»ΡŽΡ‡ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹ Π² Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ½ΠΈΠΉ рСгистр.

ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ registr ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния:

Данная функция Π½Π΅ измСняСт ΠΊΠ»ΡŽΡ‡ΠΈ, состоящиС ΠΈΠ· чисСл.

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

$array = array("FirSt" => 1, "SecOnd" => 4);

print_r(array_change_key_case($array, CASE_UPPER));

print_r(array_change_key_case($array, CASE_LOWER));


ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Array

(

[FIRST] => 1

[SECOND] => 2

)

Array

(

[first] => 1

[second] => 2

)



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


array_combine


Ѐункция ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π΄Π²Π° массива, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ значСния ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΡΡ‚Π°Π½ΠΎΠ²ΡΡ‚ΡŒΡΡ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ, Π° значСния Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ - значСниями.

Бинтаксис:

array array_combine(array keys, array values)

Ѐункция array_combine() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив, ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ значСния массива keys, Π° значСниями - значСния массива values.

Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ FALSE, Ссли Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массивов keys ΠΈ values Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚, ΠΈΠ»ΠΈ эти массивы Π½Π΅ содСрТат Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

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

<?php

$a = array("green", "red", "yellow");

$b = array("avocado", "apple", "banana");

$c = array_combine($a, $b);


print_r($c);

?>

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Array( [green] => avocado [red] => apple [yellow] => banana)

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


array_key_exists


ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° сущСствования Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° Π² массивС.

Бинтаксис:

bool array_key_exists(mixed key, array search)

Ѐункция array_key_exists() Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ TRUE, Ссли Π² массивС search присутствуСт элСмСнт с индСксом key.

Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ FALSE.

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