ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ array_diff_uassoc():
<?php
$a = array_fill(5, 6, 'banana');
print_r($a);
?>
ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Array( [5] => banana [6] => banana [7] => banana [8] => banana [9] => banana [10] => banana)
Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ PHP 4 >= 4.2.0, PHP 5
array_filter
Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΈΠ»ΡΡΡ ΠΊ ΠΌΠ°ΡΡΠΈΠ²Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
array array_filter(array input [, callback callback])
Π€ΡΠ½ΠΊΡΠΈΡ array_filter() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ input ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΠ²ΡΠΈΠΈ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ callback.
Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² input ΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ array_filter():
<?php
function odd($var) {
return ($var % 2 == 1);
}
function even($var) {
return ($var % 2 == 0);
}
$array1 = array ("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array (6, 7, 8, 9, 10, 11, 12);
echo "ΠΠ΅ΡΠ΅ΡΠ½ΡΠ΅ :n";
print_r(array_filter($array1, "odd"));
echo "Π§Π΅ΡΠ½ΡΠ΅ :n";
print_r(array_filter($array2, "even"));
?>
ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΠ΅ΡΠ΅ΡΠ½ΡΠ΅ :Array( [a] => 1 [c] => 3 [e] => 5)Π§Π΅ΡΠ½ΡΠ΅ :Array( [0] => 6 [2] => 8 [4] => 10 [6] => 12)
Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΡΠΈΠ»ΡΡΡΡΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ ΠΈΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Π°.
Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΡΠΊΡΠΈΠ΅ΠΉ array_filter() Π΅Π³ΠΎ Π½Π΅Π»ΡΠ·Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ: Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ, ΡΠ΄Π°Π»ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΡΠ»ΡΡΡ ΠΌΠ°ΡΡΠΈΠ², Ρ.ΠΊ. ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ PHP 4 >= 4.0.6, PHP 5
array_map
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ².
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
array array_map(mixed callback, array arr1 [, array ...])
Π€ΡΠ½ΠΊΡΠΈΡ array_map() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π²ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΏΠΎΡΠ»Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ callback.
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ array_map().
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ array_map(): ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°
<?php
function cube($n) {
return $n*$n*$n;
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);
?>
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Array( [0] => 1 [1] => 8 [2] => 27 [3] => 64 [4] => 125)
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ array_map(): ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²
<?php
function show_Spanish($n, $m) {
return "Π§ΠΈΡΠ»ΠΎ $n ΠΏΠΎ-ΠΈΡΠΏΠ°Π½ΡΠΊΠΈ - $m";
}
function map_Spanish($n, $m) {
return array ($n => $m);
}
$a = array(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");
$c = array_map("show_Spanish", $a, $b);
print_r($c);
$d = array_map("map_Spanish", $a , $b);
print_r($d);
?>
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
// printout of $cArray( [0] => Π§ΠΈΡΠ»ΠΎ 1 ΠΏΠΎ-ΠΈΡΠΏΠ°Π½ΡΠΊΠΈ - uno [1] => Π§ΠΈΡΠ»ΠΎ 2 ΠΏΠΎ-ΠΈΡΠΏΠ°Π½ΡΠΊΠΈ - dos [2] => Π§ΠΈΡΠ»ΠΎ 3 ΠΏΠΎ-ΠΈΡΠΏΠ°Π½ΡΠΊΠΈ - tres [3] => Π§ΠΈΡΠ»ΠΎ 4 ΠΏΠΎ-ΠΈΡΠΏΠ°Π½ΡΠΊΠΈ - cuatro [4] => Π§ΠΈΡΠ»ΠΎ 5 ΠΏΠΎ-ΠΈΡΠΏΠ°Π½ΡΠΊΠΈ - cinco)// printout of $dArray( [0] => Array ( [1] => uno ) [1] => Array ( [2] => dos ) [2] => Array ( [3] => tres ) [3] => Array ( [4] => cuatro ) [4] => Array ( [5] => cinco ))
ΠΠ±ΡΡΠ½ΠΎ ΡΡΠ½ΠΊΡΠΈΡ array_map() ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΊ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌ, ΠΈΠΌΠ΅ΡΡΠΈΠΌ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΡΡΡ. ΠΡΠ»ΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π½ΡΡ Π΄Π»ΠΈΠ½Ρ, ΡΠΎ ΠΌΠ΅Π½ΡΡΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Ρ ΠΏΡΡΡΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ.
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°Π΄Π°ΡΡ null, ΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ ΠΌΠ°ΡΡΠΈΠ² ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ².
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ array_map(): Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²
<?php
$a = array(1, 2, 3, 4, 5);
$b = array("one", "two", "three", "four", "five");
$c = array("uno", "dos", "tres", "cuatro", "cinco");
$d = array_map(null, $a, $b, $c);
print_r($d);
?>
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Array( [0] => Array ( [0] => 1 [1] => one [2] => uno ) [1] => Array ( [0] => 2 [1] => two [2] => dos ) [2] => Array ( [0] => 3 [1] => three [2] => tres ) [3] => Array ( [0] => 4 [1] => four [2] => cuatro ) [4] => Array ( [0] => 5 [1] => five [2] => cinco ))
Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ PHP 4 >= 4.0.6, PHP 5
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ
list
ΠΠ°Π½ΠΎΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
void list ( mixed ...)
ΠΠ°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ array(), ΡΡΠ½ΠΊΡΠΈΡ list() Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ, Π° ΡΠ·ΡΠΊΠΎΠ²Π°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ. ΠΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: list() ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠΈΡΡΠΎΠ²ΡΠΌΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΊΠ»ΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π°ΡΠΈΠ½Π°Ρ Ρ 0.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ list():
<?php
$info = array("coffee", "brown", "caffeine");
// ΠΡΠ²Π΅Π΄Π΅ΠΌ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
list($drink, $color, $power) = $info;
echo "$drink is $color and $power makes it special.n";
// ΠΡΠ²Π΅Π΄Π΅ΠΌ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ
list($drink, , $power) = $info;
echo "$drink has $power.n";
// ΠΡΠ²Π΅Π΄Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅ΡΠΈΠΉ
list( , , $power) = $info;
echo "I need $power!n";
?>
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ list():
<table>
<tr>
<th>Employee name</th>
<th>Salary</th>
</tr>
<?php
$result = mysql_query("SELECT id, name, salary FROM employees", $conn);
while (list($id, $name, $salary) = mysql_fetch_row($result)) {
echo " <tr>n" .
" <td><a href="info.php?id=$id">$name</a></td>n" .
" <td>$salary</td>n" .
" </tr>n";
}
?>
</table>
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ list(): ΠΠ½Π΄Π΅ΠΊΡΡ
<?php
$info = array("coffee", "brown", "caffeine");
list($a[0], $a[1], $a[2]) = $info;
var_dump($a);
?>
array(3) { [2]=> string(8) "caffeine" [1]=> string(5) "brown" [0]=> string(6) "coffee"}
Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ PHP 3, PHP 4, PHP 5
compact
Π£ΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ Π² ΠΌΠ°ΡΡΠΈΠ² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
array compact(mixed varname1 [, mixed $varname2, ...])
Π€ΡΠ½ΠΊΡΠΈΡ compact() ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ Π² ΠΌΠ°ΡΡΠΈΠ² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° (Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ), Π·Π°Π΄Π°Π½Π½ΡΠ΅ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π² varname1, $varname2 ΠΈ Ρ.Π΄. ΠΡΠΈ ΡΡΠΎΠΌ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΎΠ±ΡΠ°Π·ΡΡΡΡΡ ΠΏΠ°ΡΡ Ρ ΠΊΠ»ΡΡΠ°ΠΌΠΈ, ΡΠ°Π²Π½ΡΠΌΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ varnameN, ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
Π§ΠΈΡΠ»ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅.
ΠΡΠ»ΠΈ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΎ ΠΈΠΌΡ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΎΠ½ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ. ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ extract().
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ compact():
<?php
$city = "San Francisco";
$state = "CA";
$event = "SIGGRAPH"";
$location_vars = array("city", "state");
$result = compact("event", "nothing_here", $location_vars);
?>
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ $result ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:
Array( [event] => SIGGRAPH [city] => San Francisco [state] => CA)
ΠΠΎΡΠ΅ΠΌΡ ΠΆΠ΅ ΡΠΎΠ³Π΄Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Ρ ΠΊΠ°ΠΊ mixed? ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ, Π½ΠΎ ΠΈ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ ΡΡΡΠΎΠΊ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°, ΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½Π° Π²ΡΡΡΠ΅ΡΠΈΠ»Π°. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ - ΡΡΠΈ ΡΠΏΠΈΡΠΊΠΈ ΠΌΠΎΠ³ΡΡ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΏΠΈΡΠΊΠΈ ΡΡΡΠΎΠΊ, ΠΈ Ρ.Π΄. ΠΡΠ°Π²Π΄Π°, ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ΅Π΄ΠΊΠΎ.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ compact():
<?php
$a="Test";
$b="Text";
$c="CCC";
$d="DDD";
$List=array("b",array("c","d"));
$A=compact("a",$List);
?>
Π’Π΅ΠΏΠ΅ΡΡ:
// ΡΠ΅ΠΏΠ΅ΡΡ $A===array("a"=>"Test", "b"=>"Text",
"c"=>"CCC", "d"=>"DDD")
Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ PHP 4, PHP 5
extract
ΠΠΌΠΏΠΎΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int extract (array var_array [, int extract_type [, string prefix]])
Π€ΡΠ½ΠΊΡΠΈΡ extract() ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΡΡΡΠΎΠΊΡ. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π±Π΅ΡΠ΅Ρ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² var_array, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠ»ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΊΠ°ΠΊ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΊΠ°ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ· ΠΏΠ°ΡΡ ΠΊΠ»ΡΡ = Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ extract_type ΠΈ prefix.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π½Π°ΡΠΈΠ½Π°Ρ Ρ PHP Π²Π΅ΡΡΠΈΠΈ 4.0.5 ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π»Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
Π€ΡΠ½ΠΊΡΠΈΡ extract() ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ»ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠ½Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡΡΡ Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ»ΠΈ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΠΊΠ»ΡΡΠΈ, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ extract_type, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: