ΠΠ°ΠΊ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ php
array_flip
(PHP 4, PHP 5, PHP 7, PHP 8)
array_flip β ΠΠ΅Π½ΡΠ΅Ρ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΊΠ»ΡΡΠΈ Ρ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
Π€ΡΠ½ΠΊΡΠΈΡ array_flip() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² ( array ) Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΡΠΎ Π΅ΡΡΡ ΠΊΠ»ΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° array ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° array ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΊΠ»ΡΡΠ°ΠΌΠΈ.
ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΡΡΠ΅ΡΠ΅Π½Π½ΡΠΉ ΠΊΠ»ΡΡ, Π° Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠΎΡΠ΅ΡΡΠ½Ρ.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
ΠΠ°ΡΡΠΈΠ² ΠΏΠ΅ΡΠ΅Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΡ ΠΏΠ°Ρ ΠΊΠ»ΡΡ/Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅Π²ΡΡΠ½ΡΡΡΠΉ ΠΌΠ°ΡΡΠΈΠ² Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ null Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΡΠΈΠΌΠ΅ΡΡ
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ array_flip()
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
ΠΡΠΈΠΌΠ΅Ρ #2 ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ array_flip() Ρ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΡΠΌΠΈ
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅
User Contributed Notes 18 notes
This function is useful when parsing a CSV file with a heading column, but the columns might vary in order or presence:
?>
I find this better than referencing the numerical array index.
array_flip will remove duplicate values in the original array when you flip either an associative or numeric array. As you might expect it’s the earlier of two duplicates that is lost:
array(3) <
[0] => string(3) “one”
[1] => string(3) “two”
[2] => string(3) “one”
>
This may be good or bad, depending on what you want, but no error is thrown.
array_flip() does not retain the data type of values, when converting them into keys. π
It is valid expectation that string values “1”, “2” and “3” would become string keys “1”, “2” and “3”.
When you do array_flip, it takes the last key accurence for each value, but be aware that keys order in flipped array will be in the order, values were first seen in original array. For example, array:
In my application I needed to find five most recently commented entries. I had a sorted comment-id => entry-id array, and what popped in my mind is just do array_flip($array), and I thought I now would have last five entries in the array as most recently commented entry => comment pairs. In fact it wasn’t (see above, as it is the order of values used). To achieve what I need I came up with the following (in case someone will need to do something like that):
First, we need a way to flip an array, taking the first encountered key for each of values in array. You can do it with:
Well, and to achieve that “last comments” effect, just do:
$array = array_reverse($array, true);
$array = array_flip(array_unique($array));
$array = array_reverse($array, true);
In the example from the very beginning array will become:
Just what I (and maybe you?) need. =^_^=
In case anyone is wondering how array_flip() treats empty arrays:
( array_flip (array()));
?>
results in:
I wanted to know if it would return false and/or even chuck out an error if there were no key-value pairs to flip, despite being non-intuitive if that were the case. But (of course) everything works as expected. Just a head’s up for the paranoid.
I needed a way to flip a multidimensional array and came up with this function to accomplish the task. I hope it helps someone else.
array_flip
array_flip β ΠΠΎΠΌΠ΅Π½ΡΡΡ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
Π€ΡΠ½ΠΊΡΠΈΡ array_flip() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ array Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΡΠΎ Π΅ΡΡΡ ΠΊΠ»ΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° input ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° input ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΊΠ»ΡΡΠ°ΠΌΠΈ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π° input Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ, ΡΠΎ Π΅ΡΡΡ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΈΠΏ integer ΠΈΠ»ΠΈ string. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅Π²Π΅ΡΠ½ΡΠΉ ΡΠΈΠΏ, Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π°Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ°ΡΠ° ΠΊΠ»ΡΡ/Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π°.
ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΡΡΠ΅ΡΠ΅Π½Π½ΡΠΉ ΠΊΠ»ΡΡ, Π° Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠΎΡΠ΅ΡΡΠ½Ρ.
Π€ΡΠ½ΠΊΡΠΈΡ array_flip() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ FALSE, Π΅ΡΠ»ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΌΠ°ΡΡΠΈΠ²Π° Π²ΡΠ·Π²Π°Π»Π° ΠΎΡΠΈΠ±ΠΊΡ.
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ array_flip()
ΠΡΠΈΠΌΠ΅Ρ #2 ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ array_flip(): ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
I know a lot of people want a function to remove a key by value from an array. I saw solutions that iterate(!) though the whole array comparing value by value and then unsetting that value’s key. PHP has a built-in function for pretty much everything (heard it will even cook you breakfast), so if you think “wouldn’t it be cool if PHP had a function to do that. “, odds are it already has. Check out this example. It takes a value, gets all keys for that value if it has duplicates, unsets them all, and returns a reindexed array.
When you do array_flip, it takes the last key accurence for each value, but be aware that keys order in flipped array will be in the order, values were first seen in original array. For example, array:
In my application I needed to find five most recently commented entries. I had a sorted comment-id => entry-id array, and what popped in my mind is just do array_flip($array), and I thought I now would have last five entries in the array as most recently commented entry => comment pairs. In fact it wasn’t (see above, as it is the order of values used). To achieve what I need I came up with the following (in case someone will need to do something like that):
First, we need a way to flip an array, taking the first encountered key for each of values in array. You can do it with:
Well, and to achieve that “last comments” effect, just do:
$array = array_reverse($array, true);
$array = array_flip(array_unique($array));
$array = array_reverse($array, true);
In the example from the very beginning array will become:
Just what I (and maybe you?) need. =^_^=
In case anyone is wondering how array_flip() treats empty arrays:
( array_flip (array()));
?>
results in:
I wanted to know if it would return false and/or even chuck out an error if there were no key-value pairs to flip, despite being non-intuitive if that were the case. But (of course) everything works as expected. Just a head’s up for the paranoid.
/*
Fun function to return the longest physical *value* from an array.
corz at corz dot org
*/
[php] ΠΠΎΠΌΠ΅Π½ΡΡΡ Π΄Π²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ
ΠΠ΅ Π΄ΡΠΌΠ°Π», ΡΡΠΎ ΠΌΠ½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π·Π°Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ, Π½ΠΎ Ρ ΠΌΠ΅Π½Ρ ΡΠΆΠ΅ Π³Π»Π°Π·Π° Π·Π°ΠΌΡΠ»ΠΈΠ»ΠΈΡΡ. ΠΠΌΠ΅Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ:
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
Π Π΅ΡΠΈΠ» ΡΠ°ΠΌ
ΠΠΎΠΌΠΎΠΉ Π½Π°Π΄ΠΎ ΠΈΠ΄ΡΠΈ ΠΈ Π²ΡΡΠΏΠ°ΡΡΡΡ π
P.S.: Π‘Π°ΠΌ Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠ». Π·Π°Π΄ΡΠΌΠ°Π»ΡΡ.
ΠΎΡΠ΅ΠΏΡΡΠΊΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΎΡΠ΅ΠΏΡΡΠΊΠΈ
Re: ΠΎΡΠ΅ΠΏΡΡΠΊΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΎΡΠ΅ΠΏΡΡΠΊΠΈ
Π° Π²ΠΎΡ ΡΠ·Π°Π» Π±Ρ ΡΡ Π΅ΠΌΠ°ΠΊΡ.
>Π° Π²ΠΎΡ ΡΠ·Π°Π» Π±Ρ ΡΡ Π΅ΠΌΠ°ΠΊΡ.
Π Π²ΠΎΡ ΠΏΠΈΡΠ°Π» Π±Ρ ΠΏΡ ΠΏ ΠΏΡΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ.
ΠΡ ΡΠ°ΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΊΡΠΎΠΌΠ΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠΏΠ°ΡΠ΅Ρ.
Π½Π΅ΡΠΆ-ΡΠΎ Π΄Π°ΠΆΠ΅ Π²ΠΎΡΠ½ΠΈΠ½Π³Π° ΡΡΠΎΡ ΠΊΠΎΠ΄ Π½Π΅ ΡΠΎΠ·Π΄Π°ΡΡ?
>Π Π²ΠΎΡ ΠΏΠΈΡΠ°Π» Π±Ρ ΠΏΡ ΠΏ ΠΏΡΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ.
ΠΡΠ°Π²Π΄Π°, Π² ΡΠΎΠΌ ΠΆΠ΅ Python ΡΠ°ΠΊ ΠΆΠ΅. Π Π²ΠΎΡ Perl Ρ use strict ΡΠ°ΠΊΠΎΠ³ΠΎ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ» π
ΠΠΎ Ρ ΠΎΡΠΎΡΠ΅ΠΌΡ, E_STRICT ΡΠΎΠΆΠ΅ Π½Π°Π΄ΠΎ ΡΠ·Π°ΡΡ.
Π Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ IDE (NetBeans Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ), ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°ΠΌΠ΅ΠΊΠ½ΡΡ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
1. ΠΠ΅Π½Π΄Π° Π΄Π΅ΡΠ΅ΠΊΡΠ΅Π΄
2. ZDE ΠΊ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΌ IDE Π½Π΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ
>ΠΠΎ Ρ ΠΎΡΠΎΡΠ΅ΠΌΡ, E_STRICT ΡΠΎΠΆΠ΅ Π½Π°Π΄ΠΎ ΡΠ·Π°ΡΡ..
ΠΠΎ ΡΡΡ ΠΎΠ½ΠΎ Π½Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ. Π₯ΠΎΡΡ Π·Π° Π½Π°Π²ΠΎΠ΄ΠΊΡ ΡΠΏΠ°ΡΠΈΠ±ΠΎ, Ρ Π΅Π³ΠΎ ΠΊΠ°ΠΊ-ΡΠΎ ΡΠΏΡΡΡΠΈΠ» Π² PHP5, Π·Π°ΡΠ·Π°Ρ.
Π Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ IDE (NetBeans Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ)
>1. ΠΠ΅Π½Π΄Π° Π΄Π΅ΡΠ΅ΠΊΡΠ΅Π΄
ΠΡΠ΅ ΠΏΡΠ΅ΡΠ΅Π½Π·ΠΈΠΈ Π½Π°ΠΏΡΠ°Π²Π»ΡΠΉΡΠ΅ ΠΌΠΎΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»Ρ. Π ZDE ΠΈ ΠΏΠΎΠ΄ Π»ΠΈΠ½ΡΠΊΡΡ Π΅ΡΡΡ.
Π½Π΅ΡΠΆΡΠΎ Π½Π΅ΡΠ±ΠΈΠ½Ρ ΡΠΎΡΠΌΠΎΠ·Π½Π΅Π΅ ΡΠΊΠ»ΠΈΠΏΡΠ°? ΠΈ Π΄Π°, Π»ΡΡΡΠ΅ ΡΠΆ vim.
>Π½Π΅ΡΠΆΡΠΎ Π½Π΅ΡΠ±ΠΈΠ½Ρ ΡΠΎΡΠΌΠΎΠ·Π½Π΅Π΅ ΡΠΊΠ»ΠΈΠΏΡΠ°?
Π£ΠΏΠΎΠΌΡΠ½ΡΡΡΠΉ Zend Studio, ΠΊΡΡΠ°ΡΠΈ, ΠΌΠ°Π»ΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π° ΡΠΎΠΌ ΠΆΠ΅ Eclipse ΡΠ΄Π΅Π»Π°Π½, ΡΠ°ΠΊ Π΅ΡΡ ΠΈ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΡΠΉ ΠΈ Π΄Π΅Π½Π΅Π³ ΡΡΠΎΠΈΡ π
Π£ ΠΠ΅ΡΠΠΈΠ½ΡΠ° Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ. ΠΡΠ»ΠΈ ΡΠΆ ΠΌΠ½Π΅ Π½ΡΠΆΠ½Π° ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½Π°Ρ IDE, ΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½Π°Ρ. Π Ρ PHP Ρ ΠΠ΅ΡΠ±ΠΈΠ½ΡΠ° ΠΏΠΎΠΊΠ° ΡΡΠΆΠ΅Π»ΠΎΠ²Π°ΡΠΎ. PHPDoc’Π° Π½Π΅ΡΡ, Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π°Π²ΡΠΎΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ΅Π½Ρ ΡΠ±ΠΎΠ³ΠΈΠ΅ ΠΈ Ρ.ΠΏ.
Π Π΅Π³ΠΎ Ρ ΡΠ°ΠΊ ΠΈ Π½Π΅ ΠΎΡΠ²ΠΎΠΈΠ». ΠΠ΅ Π΄Π»Ρ ΠΌΠΎΠ΅Π³ΠΎ ΠΌΠΎΠ·Π³Π° ΡΡΠΎΡ ΠΏΡΠΎΠ΄ΡΠΊΡ π Π’.Π΅. ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠΌ ΡΠΌΠ΅Ρ, Π½ΠΎ Π½Π΅Π½Π°Π²ΠΈΠΆΡ.
ΠΡΠ»ΠΎ ΡΠ°ΠΌ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π½ΠΎ ΠΎΠ½ΠΎ ΡΡΡ ΠΆΠ΅ ΡΠΊΡΡΠ²Π°Π»ΠΎΡΡ ΠΈΠ·-Π·Π° header(Β«Location: bla-bla.phpΒ»). ΠΠΎΡΡΠΎΠΌΡ Ρ Π½Π΅ Π²ΠΈΠ΄Π΅Π» Π΅Π³ΠΎ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΊΠΎΠΌΠ΅Π½ΡΠΈΠ» ΡΡΠΎΡ ΡΠ΅Π΄ΠΈΡΠ΅ΠΊΡ, ΡΠΎ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΈ ΡΠ²ΠΈΠ΄Π΅Π».
Ρ ΡΠΎΠΆΠ΅ Π΄ΠΎΠ»Π³ΠΎ Π½Π΅Π³ΠΎΠ΄ΠΎΠ²Π°Π», Π½ΠΎ Π²ΡΠ΅ ΠΆΠ΅ ΠΎΡΠ²ΠΎΠΈΠ»ΡΡ Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΌ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠΎΠΌ. ΠΏΡΠ°Π²Π΄Π°, Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ Π² ΡΡΠΈΡ
ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ½ΡΡ
ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°Ρ
ΠΏΠΎΠΊΠ° Π΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅
Π£ΠΏΠΎΠΌΡΠ½ΡΡΡΠΉ Zend Studio, ΠΊΡΡΠ°ΡΠΈ, ΠΌΠ°Π»ΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π° ΡΠΎΠΌ ΠΆΠ΅ Eclipse ΡΠ΄Π΅Π»Π°Π½, ΡΠ°ΠΊ Π΅ΡΡ ΠΈ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΡΠΉ ΠΈ Π΄Π΅Π½Π΅Π³ ΡΡΠΎΠΈΡ π
Π½Π° ΡΡΠΎ ΠΈ Π½Π°ΠΌΠ΅ΠΊΠ°Ρ
Π²ΠΎΠΎΠ±ΡΠ΅ Ρ Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅ Π½Π΅Π²Π΅ΡΠ½ΠΎ ΠΏΠΎΠ½ΡΠ» ΡΡΡΡ ΠΏΠΎΡΡΠΎΠ², Π»Π°Π΄Π½ΠΎ
ΠΡΠ»ΠΎ ΡΠ°ΠΌ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π½ΠΎ ΠΎΠ½ΠΎ ΡΡΡ ΠΆΠ΅ ΡΠΊΡΡΠ²Π°Π»ΠΎΡΡ ΠΈΠ·-Π·Π° header(Β«Location: bla-bla.phpΒ»).
ΠΠΎΡΡΠΎΠΌΡ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ ΡΠ΅Π΄ΠΈΡΠ΅ΠΊΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°, ΡΠΈΠΏΠ°:
Π Π½Π° ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ»Π°Π³. ΠΠ»ΠΈ Π½Π° Π±ΠΎΠ΅Π²ΠΎΠΌ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΡΠΊΠΈ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΡΡΠΎΠ±Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π±Π΅ Π²ΡΠ΄Π°Π²Π°Π»ΠΎΡΡ. Π ΡΡΠ°Π·Ρ Π²ΠΈΠ΄Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠΎΡΡΠ» ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΈ ΠΊΡΠ΄Π° ΠΏΠΎΠΉΠ΄ΡΡ ΡΠ΅Π΄ΠΈΡΠ΅ΠΊΡ, ΠΈ ΠΎΡΠΊΡΠ΄Π° ΠΎΠ½ Π±ΡΠ» Π²ΡΠ·Π²Π°Π½ (Π² ΠΌΠΎΡΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ debug_exit() Π΅ΡΡ ΠΈ ΡΡΠ΅ΠΉΡ Π²ΡΠ·ΠΎΠ²Ρ Π²ΡΠ΄Π°ΡΡ).
>PHPDoc’Π° Π½Π΅ΡΡ, Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π°Π²ΡΠΎΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ΅Π½Ρ ΡΠ±ΠΎΠ³ΠΈΠ΅ ΠΈ Ρ.ΠΏ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠ΅Π»ΠΈΠ·Π΅ ΡΡΠ°Π»ΠΈ ΡΡΡΡ Π²Π΅ΡΠ΅Π»Π΅Π΅.
Π‘ΡΡΠ°Π½Π½ΠΎ, Π° Π³Π΄Π΅ ΠΎΠ½ΠΎ ΡΠ°ΠΌ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ, Π½Π΅ Π²ΠΈΠ΄Π΅Π».
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠ΅Π»ΠΈΠ·Π΅ ΡΡΠ°Π»ΠΈ ΡΡΡΡ Π²Π΅ΡΠ΅Π»Π΅Π΅.
ΠΊΠΎΠ³Π΄Π° ΡΠΆΠ΅ Π»ΡΠ΄ΠΈ Π±Π΅Π· ΡΠΎΠ±Π°ΠΊ Π½Π°ΡΡΠ°ΡΡΡ ΠΠΠΠΠ’Π¬.
>ΠΊΠΎΠ³Π΄Π° ΡΠΆΠ΅ Π»ΡΠ΄ΠΈ Π±Π΅Π· ΡΠΎΠ±Π°ΠΊ Π½Π°ΡΡΠ°ΡΡΡ ΠΠΠΠΠ’Π¬.
ΠΠΎΠ»ΠΆΠ΅Π½ ΡΡΠΎΡΡΡ ΠΏΡ ΠΏ ΠΏΠ»Π°Π³ΠΈΠ½. Π― ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ ΡΠ±ΠΎΡΠΊΡ Ρ ΠΏΡ ΠΏ ΠΊΠ°ΡΠ°Ρ.
Website-create.ru
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π² ΡΠ΅Π»ΠΎΠΌ ΠΈ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ°ΠΉΡΠΎΠ² Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ Π½Π°ΠΌ Π²ΡΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ Ρ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π±Π°Π·Ρ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΈΡ Π½Π° ΡΠ°ΠΉΡ. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΌΠ°ΡΡΠΈΠ² ΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ Π·Π°Ρ ΠΎΡΠ΅ΡΡ ΠΊΠ°ΠΊ-ΡΠΎ ΠΈΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ.
ΠΠ±ΡΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ²Π΅ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π°, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΠΉΡΠΈΡΡ ΠΏΠΎ Π½Π΅ΠΌΡ ΡΠΈΠΊΠ»ΠΎΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ foreach.
ΠΠ΄Π½Π°ΠΊΠΎ, ΡΠ°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ ΡΠ°ΠΊ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ-ΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΠ»Ρ ΡΡΠΈΡ Π·Π°Π΄Π°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ», Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΊΡΠ΄Π° Π±ΠΎΠ»Π΅Π΅ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΠΎ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎ, Π½Π°ΠΏΠΈΡΠ°Π² ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΠ΅Π½ΡΡΠ΅ ΠΊΠΎΠ΄Π°.
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π°.
ΠΠ°ΡΠΈΠ°Π½Ρ 1. ΠΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΡΠΈΠΊΠ»Π΅.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ Π΅Π³ΠΎ.
Π― Π½Π΅ Π±ΡΠ΄Ρ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π²ΡΡΡΠ½ΡΡ, Π° Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡ ΡΠΈΠΊΠ»ΠΎΠΌ. ΠΠΎΡ ΡΠ°ΠΊ.
ΠΡΠ»ΠΈ ΡΠ΅ΠΉΡΠ°Ρ ΠΌΡ Π²ΡΠ²Π΅Π΄Π΅ΠΌ Π½Π°Ρ ΠΌΠ°ΡΡΠΈΠ² Π½Π° ΡΠΊΡΠ°Π½, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅.
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ 0, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ, ΠΊΠ°ΠΊ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ 1. Π ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΆΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π±ΡΠ΄Π΅Ρ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΈΠ½Π΄Π΅ΠΊΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΠ΄ΡΠΈ Π½Π΅ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ. ΠΠ± ΡΡΠΎΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ.
Π§ΡΠΎ Π΅ΡΠ»ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ Π·Π°Ρ ΠΎΡΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠΌΠ½ΠΎΠΆΠΈΠ² Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° 2.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ ΡΠΈΠΊΠ»ΠΎΠΌ foreach. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΈ ΡΠΌΠ½ΠΎΠΆΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π° 2.
ΠΡΠ²Π΅Π΄Π΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° ΡΠΊΡΠ°Π½.
ΠΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π½ΡΠΆΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ array_map().
ΠΠ°ΡΠΈΠ°Π½Ρ 2. ΠΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ array_map().
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½Π° Π²Ρ ΠΎΠ΄ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²:
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ². ΠΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΡΡΠΈΠ², ΡΠΎ ΠΊΠ»ΡΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π±ΡΠ΄ΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ (ΡΡΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅).
ΠΡΠ°ΠΊ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ. Π ΠΌΠΎΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ Π½Π΅ ΡΠΎΠ·Π΄Π°Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ callback-ΡΡΠ½ΠΊΡΠΈΡ, Π° ΠΏΠ΅ΡΠ΅Π΄Π°Ρ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
ΠΡΠ²Π΅Π΄Π΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° ΡΠΊΡΠ°Π½.
ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΠ΄Π½Π°ΠΊΠΎ, Π² ΡΡΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π±Ρ ΠΊΠ»ΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠ»ΠΈ Π½Π΅ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ, ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π±ΡΠ»ΠΈ Π±Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠΈΠΊΠ»Π΅ foreach.
ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅ ΠΏΠΎΠΊΠ°ΠΆΡ Π²Π°ΠΌ ΡΠ°Π·Π½ΠΈΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°Ρ .
Π Π°Π·Π½ΠΈΡΠ° Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ foreach ΠΈ array_map(), ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΡΡΠΈ ΠΈΠ΄ΡΡ Π½Π΅ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ.
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΡΠΎΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ ΡΡΠΎ ΡΠ°ΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΡΠ²ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
ΠΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΠΉΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π² ΡΠΈΠΊΠ»Π°Ρ , ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π·Π°Π΄Π°Ρ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΠ°ΡΡ ΡΡΠΈ Π·Π°Π΄Π°ΡΠΈ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ.
ΠΠΎ Π½ΠΎΠ²ΡΡ Π²ΡΡΡΠ΅Ρ Π² Π½ΠΎΠ²ΡΡ ΡΡΠ°ΡΡΡΡ . ΠΠΎΠ½ΡΠ°Π²ΠΈΠ»Π°ΡΡ ΡΡΠ°ΡΡΡ? β Π‘ΡΠ°Π²ΡΡΠ΅ Π»Π°ΠΉΠΊ, Π΄Π΅Π»ΠΈΡΠ΅ΡΡ Ρ Π΄ΡΡΠ·ΡΡΠΌΠΈ, ΠΎΡΡΠ°Π²Π»ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΡ.
array_replace
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
array_replace β ΠΠ°ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
array_replace() Π½Π΅ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½Π°Ρ: Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π±ΡΠ΄ΡΡ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡΠΎ Π±ΡΠ΄ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
ΠΠ°ΡΡΠΈΠ², ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ.
ΠΠ°ΡΡΠΈΠ²Ρ, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄ΡΡ Π±ΡΠ°ΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π»Ρ Π·Π°ΠΌΠ΅Π½Ρ. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° Π·Π°ΡΠΈΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² ( array ) ΠΈΠ»ΠΈ null Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΡΠΈΠΌΠ΅ΡΡ
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ array_replace()
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅
User Contributed Notes 14 notes
// we wanted the output of only selected array_keys from a big array from a csv-table
// with different order of keys, with optional suppressing of empty or unused values
Here is a simple array_replace_keys function:
print_r(array_replace_keys([‘one’=>’apple’, ‘two’=>’orange’], [‘one’=>’ett’, ‘two’=>’tvo’]);
// Output
array(
‘ett’=>’apple’,
‘tvo’=>’orange’
)
Simple function to replace array keys. Note you have to manually select wether existing keys will be overrided.
To get exactly same result like in PHP 5.3, the foreach loop in your code should look like:
array(3) <
“id” => NULL
“login” => string(8) “john.doe”
“credit” => int(100)
>
I would like to add to my previous note about my polecat_array_replace function that if you want to add a single dimensional array to a multi, all you must do is pass the matching internal array key from the multi as the initial argument as such:
$array1 = array( “berries” => array( “strawberry” => array( “color” => “red”, “food” => “desserts”), “dewberry” = array( “color” => “dark violet”, “food” => “pies”), );
$array2 = array( “food” => “wine”);
This is will replace the value for “food” for “dewberry” with “wine”.
The function will also do the reverse and add a multi to a single dimensional array or even a 2 tier array to a 5 tier as long as the heirarchy tree is identical.
I hope this helps atleast one person for all that I’ve gained from this site.
I got hit with a noob mistake. π
When the function was called more than once, it threw a function redeclare error of course. The enviroment I was coding in never called it more than once but I caught it in testing and here is the fully working revision. A simple logical step was all that was needed.
With PHP 5.3 still unstable for Debian Lenny at this time and not knowing if array_replace would work with multi-dimensional arrays, I wrote my own. Since this site has helped me so much, I felt the need to return the favor. π
$array2 = array( “food” => “wine” );
The function will also do the reverse and add a multi to a single dimensional array or even a 2 tier array to a 5 tier as long as the heirarchy tree is identical.
I hope this helps atleast one person for all that I’ve gained from this site.
In some cases you might have a structured array from the database and one
of its nodes goes like this;
# string to transform
$string = “
name: %s, json: %s, title: %s
?>
I hope that this will save someone’s time.







