Home >Backend Development >PHP Tutorial >Talk about PHP array merging skills_PHP tutorial

Talk about PHP array merging skills_PHP tutorial

WBOY
WBOYOriginal
2016-07-15 13:27:58839browse

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.

By the end of 1996, there were 15,000 websites using PHP/FI; by mid-1997, the number of websites using PHP/FI exceeded 50,000. In mid-1997, the development plan for the third version was started. The development team joined Zeev Suraski and Andi Gutmans, and the third version was named PHP3. In 2000, PHP4.0 came out again, which added many new features. characteristic. In this article, the result set from the database query is sorted. Database query results sometimes cannot be used directly, such as the results obtained using the in statement in mysql, so the results need to be sorted in some way. At this time, you need to sort the PHP array. To sort database results, see the following example: In this example, each cell in the data array represents a row in a table. This is a typical way for databases to store array data. The data in the example is 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>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().


www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/446497.htmlTechArticleWe may encounter the problem of PHP array merging when using PHP arrays. This article introduces PHP array merging, Sorting of PHP arrays. PHP array sorting is actually sorting PHP arrays...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn