首頁 >後端開發 >PHP問題 >php怎麼改變陣列元素的位置

php怎麼改變陣列元素的位置

青灯夜游
青灯夜游原創
2022-05-26 20:19:252366瀏覽

php可以透過對陣列元素進行排序來改變陣列元素的位置。排序方法:1、用sort()將數組元素進行升序排序;2、用rsort()對數組元素進行降序排序;3、用shuffle()對數組元素進行隨機排列,即隨機打亂元素順序;4 、asort()等。

php怎麼改變陣列元素的位置

本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦

在php中,可以透過對陣列進行排序來改變元素位置。常用的陣列排序方法有:

  • sort():對陣列元素進行升序排序

  • asort():根據關聯陣列的鍵值,將陣列升序排列

  • ksort(): 依照關聯陣列的鍵名,將陣列升序排序    

  • #rsort() :對陣列元素進行降序排序

  • #arsort():根據關聯陣列的鍵值,將陣列降序排列

  • krsort() :根據關聯數組的鍵名,對數組進行降序排序   

  • #shuffle():將數組中的元素按隨機順序重新排列。

1、使用sort()函數

sort()函數對陣列元素進行升序排序(從小到大,由低到高)。

<?php
header("Content-type:text/html;charset=utf-8");
$arr1 = array(10, 23, 5, 12, 84, 16);
sort($arr1);
var_dump($arr1);

$arr2= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
sort($arr2);
var_dump($arr2);
?>

php怎麼改變陣列元素的位置

2、使用asort()函數

asort()函數會根據關聯陣列的鍵值進行升序排序,且不會修改原數組中的鍵名。

<?php
header("Content-type:text/html;charset=utf-8");
$age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16);
asort($age);
var_dump($age);
?>

php怎麼改變陣列元素的位置

3、使用kso​​rt()函數

ksort()函數會根據關聯陣列的鍵名進行升序排序,也不會修改原數組中的鍵名。

<?php
header("Content-type:text/html;charset=utf-8");
$arr= array("l"=>"lemon", "o"=>"orange", "b"=>"banana", "a"=>"apple");
ksort($arr);
var_dump($arr);
?>

php怎麼改變陣列元素的位置

4、使用rsort()函數

rsort() 函數用來對陣列元素進行降序排序,也就是從大到小、從高到低排序。

我們來看看程式碼實例:

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(2, 1, 5, 16, 29, 15);
rsort($arr);
var_dump($arr);
?>

php怎麼改變陣列元素的位置

#5、使用arsort()函數

arsort( )函數會根據關聯數組的鍵值進行降序排序,且不會修改原數組中的鍵名。

<?php
header("Content-type:text/html;charset=utf-8");
$age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16);
arsort($age);
var_dump($age);

arsort($age,2);
var_dump($age);
?>

php怎麼改變陣列元素的位置

6、使用krsort()函數

krsort()函數會根據關聯陣列的鍵名稱進行降序排序,也不會修改原數組中的鍵名。

<?php
header("Content-type:text/html;charset=utf-8");
$arr= array("l"=>"lemon", "o"=>"orange", "b"=>"banana", "a"=>"apple");
krsort($arr);
var_dump($arr);

krsort($arr,1);
var_dump($arr);
?>

php怎麼改變陣列元素的位置

7、隨機排序

在PHP中,可以使用shuffle()函數隨機排序,打亂陣列元素。

shuffle()函數會把陣列中的元素依照隨機順序重新排列。

<?php
header("Content-type:text/html;charset=utf-8");
$arr1 = array(10, 23, 5, 12, 84, 16);
shuffle($arr1);
var_dump($arr1);

$arr2= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
shuffle($arr2);
var_dump($arr2);
?>

輸出結果:

php怎麼改變陣列元素的位置

刷新一下,結果就改變了:

php怎麼改變陣列元素的位置

說明:shuffle()函數不僅會將陣列隨機打亂,還會刪除陣列中原有的鍵名,並為其賦與新的數值鍵名(即不會保持索引關係)。

推薦學習:《PHP影片教學

以上是php怎麼改變陣列元素的位置的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn