[MEMO] Some functions are quite useful when working with Array in PHP
Recently, I did a PHP project. And I find PHP’s Array quite interesting, it feels very flexible and PHP also supports a lot of functions to work with Array is really very powerful. In this article I would like to memo those functions. The main purpose is memo, after forgetting to review.
And you, if you see any good function, just add me a comment.
Let’s go!
1. array_unique ()
This function is responsible for removing duplicate elements and returning an array containing unique elements
1 2 3 4 5 6 7 8 9 | <span class="token delimiter important"><?php</span> <span class="token variable">$arr</span> <span class="token operator">=</span> <span class="token punctuation">[</span> <span class="token double-quoted-string string">"red"</span> <span class="token punctuation">,</span> <span class="token double-quoted-string string">"green"</span> <span class="token punctuation">,</span> <span class="token double-quoted-string string">"red"</span> <span class="token punctuation">]</span> <span class="token punctuation">;</span> <span class="token function">print_r</span> <span class="token punctuation">(</span> <span class="token function">array_unique</span> <span class="token punctuation">(</span> <span class="token variable">$a</span> <span class="token punctuation">)</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> |
Output:
1 2 3 4 5 | $arr = [ "red", "green", ]; |
2. array_column ()
Task: pick up the values of an array_key from a nested array and return a new array.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <span class="token variable">$records</span> <span class="token operator">=</span> <span class="token keyword">array</span> <span class="token punctuation">(</span> <span class="token keyword">array</span> <span class="token punctuation">(</span> <span class="token single-quoted-string string">'id'</span> <span class="token operator">=</span> <span class="token operator">></span> <span class="token number">2135</span> <span class="token punctuation">,</span> <span class="token single-quoted-string string">'first_name'</span> <span class="token operator">=</span> <span class="token operator">></span> <span class="token single-quoted-string string">'John'</span> <span class="token punctuation">,</span> <span class="token single-quoted-string string">'last_name'</span> <span class="token operator">=</span> <span class="token operator">></span> <span class="token single-quoted-string string">'Doe'</span> <span class="token punctuation">,</span> <span class="token punctuation">)</span> <span class="token punctuation">,</span> <span class="token keyword">array</span> <span class="token punctuation">(</span> <span class="token single-quoted-string string">'id'</span> <span class="token operator">=</span> <span class="token operator">></span> <span class="token number">3245</span> <span class="token punctuation">,</span> <span class="token single-quoted-string string">'first_name'</span> <span class="token operator">=</span> <span class="token operator">></span> <span class="token single-quoted-string string">'Sally'</span> <span class="token punctuation">,</span> <span class="token single-quoted-string string">'last_name'</span> <span class="token operator">=</span> <span class="token operator">></span> <span class="token single-quoted-string string">'Smith'</span> <span class="token punctuation">,</span> <span class="token punctuation">)</span> <span class="token punctuation">,</span> <span class="token keyword">array</span> <span class="token punctuation">(</span> <span class="token single-quoted-string string">'id'</span> <span class="token operator">=</span> <span class="token operator">></span> <span class="token number">5342</span> <span class="token punctuation">,</span> <span class="token single-quoted-string string">'first_name'</span> <span class="token operator">=</span> <span class="token operator">></span> <span class="token single-quoted-string string">'Jane'</span> <span class="token punctuation">,</span> <span class="token single-quoted-string string">'last_name'</span> <span class="token operator">=</span> <span class="token operator">></span> <span class="token single-quoted-string string">'Jones'</span> <span class="token punctuation">,</span> <span class="token punctuation">)</span> <span class="token punctuation">,</span> <span class="token keyword">array</span> <span class="token punctuation">(</span> <span class="token single-quoted-string string">'id'</span> <span class="token operator">=</span> <span class="token operator">></span> <span class="token number">5623</span> <span class="token punctuation">,</span> <span class="token single-quoted-string string">'first_name'</span> <span class="token operator">=</span> <span class="token operator">></span> <span class="token single-quoted-string string">'Peter'</span> <span class="token punctuation">,</span> <span class="token single-quoted-string string">'last_name'</span> <span class="token operator">=</span> <span class="token operator">></span> <span class="token single-quoted-string string">'Doe'</span> <span class="token punctuation">,</span> <span class="token punctuation">)</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token variable">$first_names</span> <span class="token operator">=</span> <span class="token function">array_column</span> <span class="token punctuation">(</span> <span class="token variable">$records</span> <span class="token punctuation">,</span> <span class="token single-quoted-string string">'first_name'</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token function">print_r</span> <span class="token punctuation">(</span> <span class="token variable">$first_names</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> |
Output:
1 2 3 4 5 6 7 8 | Array ( [0] => John [1] => Sally [2] => Jane [3] => Peter ) |
3. array_flip ()
Task: reverse the positions of keys and values in arrays. The value it returns is 1 Array reversed between key and value.
1 2 3 4 5 | <span class="token variable">$input</span> <span class="token operator">=</span> <span class="token keyword">array</span> <span class="token punctuation">(</span> <span class="token double-quoted-string string">"oranges"</span> <span class="token punctuation">,</span> <span class="token double-quoted-string string">"apples"</span> <span class="token punctuation">,</span> <span class="token double-quoted-string string">"pears"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token variable">$flipped</span> <span class="token operator">=</span> <span class="token function">array_flip</span> <span class="token punctuation">(</span> <span class="token variable">$input</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token function">print_r</span> <span class="token punctuation">(</span> <span class="token variable">$flipped</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> |
Output:
1 2 3 4 5 6 7 | Array ( [oranges] => 0 [apples] => 1 [pears] => 2 ) |
4.array_diff ($ array1, $ array2)
Task: Find out which elements are in array1 that aren’t in the rest of the arrays.
1 2 3 4 5 6 | $array1 = array("a" => "green", "red", "blue", "red"); $array2 = array("b" => "green", "yellow", "red"); $result = array_diff($array1, $array2); print_r($result); |
Output:
1 2 3 4 5 | Array ( [1] => blue ) |
5. array_reverse ()
Task: reverse array
1 2 3 4 5 | <span class="token variable">$input</span> <span class="token operator">=</span> <span class="token keyword">array</span> <span class="token punctuation">(</span> <span class="token double-quoted-string string">"php"</span> <span class="token punctuation">,</span> <span class="token number">4.0</span> <span class="token punctuation">,</span> <span class="token keyword">array</span> <span class="token punctuation">(</span> <span class="token double-quoted-string string">"green"</span> <span class="token punctuation">,</span> <span class="token double-quoted-string string">"red"</span> <span class="token punctuation">)</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token variable">$reversed</span> <span class="token operator">=</span> <span class="token function">array_reverse</span> <span class="token punctuation">(</span> <span class="token variable">$input</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token function">print_r</span> <span class="token punctuation">(</span> <span class="token variable">$reversed</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> |
Output:
1 2 3 4 5 6 7 8 9 10 11 12 | Array ( [0] => Array ( [0] => green [1] => red ) [1] => 4 [2] => php ) |
There are many other interesting content, the more likely you can join here Well, my array declaration syntax using the old syntax, by copying from php.net and lazy repair.
You can completely use the new syntax is “[]”.
Love!