php实现排列数组和有序排列方法汇总

伊谢尔伦
Lepaskan: 2023-03-14 08:56:01
asal
1472 orang telah melayarinya

使用array_merge() 函数

用了一个array_unique去除了一个数组里面的重复,但是发现下标保留了原数组的下标,但是php使用for循环需要下标整齐,所以寻找重新排列数组下标的方法array_merge可以解决这个问题

array_merge() 函数把两个或多个数组合并为一个数组。

如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的)。如果数组是数字索引的,则键名会以连续方式重新索引。

注释:如果仅仅向 array_merge() 函数输入了一个数组,且键名是整数,则该函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引。

<?php
$a1=array("a"=>"Horse","b"=>"Dog");
$a2=array("c"=>"Cow","b"=>"Cat");
print_r(array_merge($a1,$a2));
?>
Salin selepas log masuk

输出:

Array ( [a] => Horse [b] => Cat [c] => Cow )

例子 2

仅使用一个数组参数:

<?php
$a=array(3=>"Horse",4=>"Dog");
print_r(array_merge($a));
?>
Salin selepas log masuk

输出:

Array ( [0] => Horse [1] => Dog )

合并成新表并且有序排列的方法

<?php 
/** 
la (3,5,8,11) 
lb(2,6,8,9,11,15) 
合并为lc,有序排列。 
用php实现,不能用sort之类的函数!!!! 
**/ 
class union { 
    var $lista = array(); 
    var $listb = array(); 
    var $listc = array(); 
     
    function getlenght($arr) { //获得表长度 
        return count($arr); 
    } 
     
    function getelement($arr, $n) { //获取表中第n个元素,返回 
        return $e = $arr[$n] ? $arr[$n] : &#39;&#39;; 
    } 
     
    function listinsert($arr, $e) { //表末尾插入元素 
        $arr[] = $e; 
        return $arr; 
    } 
} 
$phpig = new union(); 
$lista = $phpig->lista = array(3, 5, 8, 11); 
$listb = $phpig->listb = array(2, 6, 8, 9, 11, 15); 
$listc = $phpig->listc; 
$lena = $phpig->getlenght($lista); //取得表大小 
$lenb = $phpig->getlenght($listb); 
$i = $j = 0; 
while($i < $lena && $j < $lenb) { 
    $ea = $phpig->getelement($lista, $i); 
    $eb = $phpig->getelement($listb, $j); 
    if($ea <= $eb) { 
        $listc = $phpig->listinsert($listc, $ea); 
        ++$i; 
    } else { 
        $listc = $phpig->listinsert($listc, $eb); 
        ++$j; 
    } 
} 
while($i < $lena) { 
    $ea = $phpig->getelement($lista, $i); 
    $listc = $phpig->listinsert($listc, $ea); 
    ++$i; 
}
while($j < $lenb) { 
    $eb = $phpig->getelement($listb, $j); 
    $listc = $phpig->listinsert($listc, $eb); 
    ++$j; 
} 
print_r($listc); 
?>
Salin selepas log masuk

Atas ialah kandungan terperinci php实现排列数组和有序排列方法汇总. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan