导航:首页 > 编程语言 > 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数组交换位置相关的资料

热点内容
加密芯片的计算方法 浏览:187
手机存储为什么找不到微信文件夹 浏览:695
msf端口迁移命令 浏览:880
工商app积分怎么查询 浏览:143
铁路app怎么买火车票 浏览:309
移魅族除的app怎么添加 浏览:240
兔笼子大号加密 浏览:171
单片机程序烧录操作成功 浏览:878
指标高抛低吸点位源码 浏览:205
25匹压缩机铜管 浏览:570
单片机单灯左移05 浏览:150
买服务器练手什么配置 浏览:783
服务器被毁该怎么办 浏览:939
python私有库 浏览:514
Python有中文吗 浏览:736
麦块的服务器为什么都进不去 浏览:474
新买的服务器如何打开 浏览:35
安卓软件游戏怎么开发 浏览:319
用扑克摆爱心解压神器怎么摆 浏览:70
松下制冷压缩机 浏览:275