Home >Backend Development >PHP Tutorial >Talk about PHP array merging skills_PHP tutorial
We may encounter the problem of PHP array merging when using PHP arrays. This article introduces PHP array merging and PHP array sorting. PHP array sorting is actually sorting PHP arrays. In mid-1995, PHP 2.0 was released. The second version is named PHP/FI (Form Interpreter). PHP/FI added support for mSQL, and has since established PHP's position in dynamic web development.
<ol class="dp-xml"> <li class="alt"><span><span>volume | edition </span></span></li> <li class=""><span>-------+-------- </span></li> <li class="alt"><span>67 | 2 </span></li> <li class=""><span>86 | 1 </span></li> <li class="alt"><span>85 | 6 </span></li> <li class=""><span>98 | 2 </span></li> <li class="alt"><span>86 | 6 </span></li> <li class=""><span>67 | 7 </span></li> </ol>
The data are all stored in an array named data. This is usually the result obtained from the database through a loop, such as mysql_fetch_assoc() (in fact, you can think of this function as the same as the mysql_fetch_assoc() function. For specific differences, you can read the difference in keys in the PHP manual).
<ol class="dp-xml"> <li class="alt"><span><span>$data[] = array('volume' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 67, 'edition' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 2); </span></span></li> <li class=""> <span>$data[] = array('volume' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 86, 'edition' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 1); </span> </li> <li class="alt"> <span>$data[] = array('volume' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 85, 'edition' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 6); </span> </li> <li class=""> <span>$data[] = array('volume' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 98, 'edition' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 2); </span> </li> <li class="alt"> <span>$data[] = array('volume' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 86, 'edition' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 6); </span> </li> <li class=""> <span>$data[] = array('volume' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 67, 'edition' =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> 7); </span> </li> </ol>
In this example, volume will be sorted in descending order and edition will be sorted in ascending order.
Now you have an array with rows, but array_multisort() requires an array with columns, so use the following code to get the columns and then sort them.
<ol class="dp-xml"> <li class="alt"><span><span>// 取得列的列表 </span></span></li> <li class=""> <span>foreach ($data as $</span><span class="attribute"><font color="#ff0000">key</font></span><span> =</span><span class="tag"><strong><font color="#006699">></font></strong></span><span> $row) { </span> </li> <li class="alt"><span>$volume[$key] = $row['volume']; </span></li> <li class=""><span>$edition[$key] = $row['edition']; </span></li> <li class="alt"><span>} </span></li> <li class=""><span> </span></li> <li class="alt"><span>// 将数据根据 volume 降序排列,根据 edition 升序排列 </span></li> <li class=""><span>// 把 $data 作为最后一个参数,以通用键排序 </span></li> <li class="alt"><span>array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data); </span></li> </ol>
The PHP arrays are merged and sorted, and the results are as follows:
<ol class="dp-xml"> <li class="alt"><span><span>volume | edition </span></span></li> <li class=""><span>-------+-------- </span></li> <li class="alt"><span>98 | 2 </span></li> <li class=""><span>86 | 1 </span></li> <li class="alt"><span>86 | 6 </span></li> <li class=""><span>85 | 6 </span></li> <li class="alt"><span>67 | 2 </span></li> <li class=""><span>67 | 7 </span></li> </ol>
In fact, there are many methods that can be used when sorting, such as PHP's array array auto With arsort(), asort(), ksort(), krsort(), natsort(), natcasesort(), rsort(), usort(), array_multisort() and uksort().