導航:首頁 > 編程語言 > php數組交換位置

php數組交換位置

發布時間:2023-02-21 18:27:04

php For 循環 怎麼能把 數組 從小到大排列呢

用非常典型的冒泡排序即可實現,具體實現思路如下列代碼所示:

<?php
//首先定義一個數組;
$arr=array(100,23,69,2,50,31);
//計算數組的長度;
$length=count($arr);
//外層循環n-1
for($n=0;$n<$length-1;$n++){
//內層循環n-i-1
for($i=0;$i<$length-$n-1;$i++){
//判斷數組元素大小,交換位置,實現從小往大排序
if($arr[$i]>$arr[$i+1]){
$temp=$arr[$i+1];
$arr[$i+1]=$arr[$i];
$arr[$i]=$temp;
}

}

}
print_r($arr);
//Array([0]=>2[1]=>23[2]=>31[3]=>50[4]=>69[5]=>100)

?>

Ⅱ PHP如何獲取數組指定值得位置

如果是一維數組可以用array_flip函數 交換數組中的鍵和值 然後用值獲取位置

例子:

$arrFlip=array_flip($arr);
$position=$arrFlip['指定值'];

Ⅲ 如何將一個php二維數組插入另一個二維數組,如:

array_splice(array,offset,length,array)

array 必需。規定數組。
offset 必需。數值。如果 offset 為正,則從輸入數組中該值指定的偏移量開始移除。如果 offset 為負,則從輸入數組末尾倒數該值指定的偏移量開始移除。
length 可選。數值。如果省略該參數,則移除數組中從 offset 到 結尾的所有部分。如果指定了 length 並且為正值,則移除這么多元素。如果指定了 length 且為負值,則移除從 offset 到數組末尾倒數 length 為止中間所有的元素。
array 被移除的元素由此數組中的元素替代。如果沒有移除任何值,則此數組中的元素將插入到指定位置。

length 參數設置為 0:
<?php
$a1=array(0=>"Dog",1=>"Cat");
$a2=array(0=>"Tiger",1=>"Lion");
array_splice($a1,1,0,$a2);
print_r($a1);
?>

輸出:
Array ( [0] => Dog [1] => Tiger [2] => Lion [3] => Cat )

Ⅳ 在PHP在二個一維數組的鍵值進行交換,得到一個新的數組。這個方式怎麼寫啊

用foreach循環這兩個數組就可以了

Ⅳ php數組中值調換位置

可以用位運算來實現,速度最快;
參考如下:
$arr=array(1,2);
$arr[0]=$arr[0] ^ $arr[1];
$arr[1]=$arr[0] ^ $arr[1];
$arr[0]=$arr[0] ^ $arr[1];

Ⅵ PHP實現常見的排序演算法

註:為方便描述,下面的排序全為正序(從小到大排序)

假設有一個數組[a,b,c,d]
冒泡排序依次比較相鄰的兩個元素,如果前面的元素大於後面的元素,則兩元素交換位置;否則,位置不變。具體步驟:
1,比較a,b這兩個元素,如果a>b,則交換位置,數組變為:[b,a,c,d]
2,比較a,c這兩個元素,如果a<c,則位置不變,數組變為:[b,a,c,d]
3,比較c,d這兩個元素,如果c>d,則交換位置,數組變為:[b,a,d,c]
完成第一輪比較後,可以發現最大的數c已經排(冒)在最後面了,接著再進行第二輪比較,但第二輪比較不必比較最後一個元素了,因為最後一個元素已經是最大的了。
第二輪比較結束後,第二大的數也會冒到倒數第二的位置。
依次類推,再進行第三輪,,,
就這樣最大的數一直往後排(冒),最後完成排序。所以我們稱這種排序演算法為冒泡排序。

選擇排序是一種直觀的演算法,每一輪會選出列中最小的值,把最小值排到前面。具體步驟如下:

插入排序步驟大致如下:

快速排序是由東尼·霍爾所發展的一種排序演算法。在平均狀況下,排序 n 個項目要Ο(n log n)次比較。在最壞狀況下則需要Ο(n2)次比較,但這種狀況並不常見。事實上,快速排序通常明顯比其他Ο(n log n) 演算法更快,因為它的內部循環(inner loop)可以在大部分的架構上很有效率地被實現出來,且在大部分真實世界的數據,可以決定設計的選擇,減少所需時間的二次方項之可能性。

步驟:
從數列中挑出一個元素,稱為 「基準」(pivot),
重新排序數列,所有元素比基準值小的擺放在基準前面,所有元素比基準值大的擺在基準的後面(相同的數可以到任一邊)。在這個分區退出之後,該基準就處於數列的中間位置。這個稱為分區(partition)操作。
遞歸地(recursive)把小於基準值元素的子數列和大於基準值元素的子數列排序。

Ⅶ php 二維數組 元素移動

用for($i=0;$i<count($arr);$i+=2) 這樣就可以了。

Ⅷ php批量替換數組元素

$arr=array("a","2","c","d","1","b","a","c","3","4","b","d","a","c",);
foreach($arras$k=>$v){

if($v=='a'){
$arr[$k]='1';
}elseif($v=='b'){
$arr[$k]='2';
}elseif($v=='c'){
$arr[$k]='3';
}elseif($v=='d'){
$arr[$k]='4';
}

}
print_r($arr);

純手打,應該不會錯

Ⅸ Php 交換數組中的鍵和值

可以使用PHP內置函數array_flip(),將數組鍵名與值對調。
array_flip() 函數將使數組的鍵名與其相應值調換,即鍵名變成了值,而值變成了鍵名。
但注意鍵值不能一樣才能使用。

Ⅹ php數組指針如何移動到指定單元

PHP 的foreach() 操作原始數組的一個拷貝,如果需要移動指針,使用 while 結構加上 each() 來實現。
示例:

$arr = array ('a', 'b', 'c', 'd', 'e');reset($arr);while (list($k, $v) = each($arr)) { # 當前指針已經被指向了下一位 $curr = current($arr); echo "{$k} => {$v} -- {$curr}\n";}

閱讀全文

與php數組交換位置相關的資料

熱點內容
奔跑程序員 瀏覽:468
伺服器如何搭建類似github 瀏覽:292
明日之後安卓太卡怎麼辦 瀏覽:502
如何使用命令方塊找到村莊 瀏覽:766
泛函壓縮映像原理 瀏覽:521
win10清除文件夾瀏覽記錄 瀏覽:964
如何查看伺服器域中所有服務 瀏覽:384
學mastercam91編程要多久 瀏覽:999
如何查伺服器地址和埠 瀏覽:911
教學雲平台app怎麼下載 瀏覽:389
單片機510教學視頻 瀏覽:624
陝西信合app怎麼查看自己的存款 瀏覽:663
風冷冰箱有壓縮機 瀏覽:274
android實現wifi連接wifi 瀏覽:669
飛豬app怎麼幫別人值機 瀏覽:924
筆記本開我的世界伺服器地址 瀏覽:546
怎樣隱藏bat命令 瀏覽:127
android開發創意 瀏覽:138
京劇貓為什麼進不去伺服器 瀏覽:784
怎麼自己免費製作一個手機app 瀏覽:583