In the past few days, I have read a lot of relevant knowledge about PHP array functions on the Internet, and I feel that Confucius' "reviewing the past and learning the new" is indeed true. Here are some experiences I have summarized. I hope it will be helpful to everyone.
1. Split a 1-dimensional array into 2-dimensional Array array_chunk()
<ol class="dp-xml"> <li class="alt"><span><span>$</span><span class="attribute"><font color="#ff0000">input_array</font></span><span>=array('a','b','c','d','e'); </span></span></li> <li class=""><span>print_r(array_chunk($input_array,2)); </span></li> </ol>
2. Compare two arrays, array_diff_assoc() or array_diff(). If the return value is empty, it means the two arrays are the same, otherwise they are different.
3. Use a function to filter the values in the array array_filter()
<ol class="dp-xml"> <li class="alt"><span><span>functionodd($var){ </span></span></li> <li class=""> <span>return($var%</span><span class="attribute"><font color="#ff0000">2</font></span><span>==1); </span> </li> <li class="alt"><span>} </span></li> <li class=""><span>functioneven($var){ </span></li> <li class="alt"> <span>return($var%</span><span class="attribute"><font color="#ff0000">2</font></span><span>==0); </span> </li> <li class=""><span>} </span></li> <li class="alt"> <span>$</span><span class="attribute-value"><font color="#0000ff">array</font></span><span class="attribute"><font color="#ff0000">array1</font></span><span>=array("a"=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>1,"b"=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>2,"c"=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>3,"d"=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>4,"e"=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>5); </span> </li> <li class=""> <span>$</span><span class="attribute-value"><font color="#0000ff">array</font></span><span class="attribute"><font color="#ff0000">array2</font></span><span>=array(6,7,8,9,10,11,12); </span> </li> <li class="alt"><span>echo"Odd:n"; </span></li> <li class=""><span>print_r(array_filter($array1,"odd")); </span></li> <li class="alt"><span>echo"Even:n"; </span></li> <li class=""><span>print_r(array_filter($array2,"even")); </span></li> <li class="alt"> <span></span><span class="tag"><strong><font color="#006699">?></font></strong></span><span> </span> </li> </ol>
4.array_map() applies the callback function to the cells of the given array, and its parameters can It is an array or multiple arrays. The parameters of the callback function must be the same as the parameters of calling it.
<ol class="dp-xml"> <li class="alt"><span><span>//单个参数的例子,将数组中的每个值,乘以它的3次方 </span></span></li> <li class=""><span>functioncube($n){ </span></li> <li class="alt"><span>return$n*$n*$n; </span></li> <li class=""><span>} </span></li> <li class="alt"><span> </span></li> <li class=""> <span>$</span><span class="attribute">a</span><span>=</span><span class="attribute-value">array</span><span>(1,2,3,4,5); </span> </li> <li class="alt"> <span>$</span><span class="attribute">b</span><span>=</span><span class="attribute-value">array_map</span><span>("cube",$a); </span> </li> <li class=""><span>print_r($b); </span></li> <li class="alt"> <span></span><span class="tag">?></span><span> </span> </li> <li class=""><span> </span></li> <li class="alt"><span>//多个数组参数的例子 </span></li> <li class=""><span>functionshow_Spanish($n,$m){ </span></li> <li class="alt"><span>return"Thenumber$niscalled$minSpanish"; </span></li> <li class=""><span>} </span></li> <li class="alt"><span> </span></li> <li class=""><span>functionmap_Spanish($n,$m){ </span></li> <li class="alt"> <span>returnarray($</span><span class="attribute">n</span><span>=</span><span class="tag">></span><span>$m); </span> </li> <li class=""><span>} </span></li> <li class="alt"><span> </span></li> <li class=""> <span>$</span><span class="attribute">a</span><span>=</span><span class="attribute-value">array</span><span>(1,2,3,4,5); </span> </li> <li class="alt"> <span>$</span><span class="attribute">b</span><span>=</span><span class="attribute-value">array</span><span>("uno","dos","tres","cuatro","cinco"); </span> </li> <li class=""><span> </span></li> <li class="alt"> <span>$</span><span class="attribute">c</span><span>=</span><span class="attribute-value">array_map</span><span>("show_Spanish",$a,$b); </span> </li> <li class=""><span>print_r($c); </span></li> <li class="alt"> <span>$</span><span class="attribute">d</span><span>=</span><span class="attribute-value">array_map</span><span>("map_Spanish",$a,$b); </span> </li> <li class=""><span>print_r($d); </span></li> <li class="alt"> <span></span><span class="tag">?></span><span> </span> </li> <li class=""><span>//输出结果 </span></li> <li class="alt"><span>//printoutof$c </span></li> <li class=""><span>Array </span></li> <li class="alt"><span>( </span></li> <li class=""> <span>[0]=</span><span class="tag">></span><span>Thenumber1iscalledunoinSpanish </span> </li> <li class="alt"> <span>[1]=</span><span class="tag">></span><span>Thenumber2iscalleddosinSpanish </span> </li> <li class=""> <span>[2]=</span><span class="tag">></span><span>Thenumber3iscalledtresinSpanish </span> </li> <li class="alt"> <span>[3]=</span><span class="tag">></span><span>Thenumber4iscalledcuatroinSpanish </span> </li> <li class=""> <span>[4]=</span><span class="tag">></span><span>Thenumber5iscalledcincoinSpanish </span> </li> <li class="alt"><span>) </span></li> </ol>
The above is a summary of PHP array functions. Everyone should memorize them.