逆序二维数组插入一元素的php代码
程序员文章站
2022-04-28 15:48:13
复制代码 代码如下:
<?php
/**
* 逆序二维数组插入一元素
*
* @author wadeyu
* @date 2012-05-30
*/
$asorted = array(
array(1, 100),
array(2, 90),
array(3, 80),
array(4, 70),
array(5, 60),
array(6, 50),
array(7, 40),
array(8, 40),
array(9, 40),
array(10, 20),
);
$ainsert = array(11, 40);
$maxcmpidx = 0;
$cnt = 0;
$maxcnt = 10;
foreach ($asorted as $idx => $arr){
if ($arr[0] == $ainsert[0]){
$maxcmpidx = $idx;
}
$cnt++;
}
if ( !$maxcmpidx){
$maxcmpidx = $cnt++;
}
$asorted[$maxcmpidx] = $ainsert;
for ($i = $maxcmpidx; $i > 0; $i--){
if ($asorted[$i][1] > $asorted[$i-1][1]){
$atmp = $asorted[$i-1];
$asorted[$i-1] = $asorted[$i];
$asorted[$i] = $atmp;
continue ;
}
break;
}
for ($i = $cnt; $i > $maxcnt; $i--){
unset($asorted[$i-1]);
}
print_r($asorted);
复制代码 代码如下:
<?php
/**
* 逆序二维数组插入一元素
*
* @author wadeyu
* @date 2012-05-30
*/
$asorted = array(
array(1, 100),
array(2, 90),
array(3, 80),
array(4, 70),
array(5, 60),
array(6, 50),
array(7, 40),
array(8, 40),
array(9, 40),
array(10, 20),
);
$ainsert = array(11, 40);
$maxcmpidx = 0;
$cnt = 0;
$maxcnt = 10;
foreach ($asorted as $idx => $arr){
if ($arr[0] == $ainsert[0]){
$maxcmpidx = $idx;
}
$cnt++;
}
if ( !$maxcmpidx){
$maxcmpidx = $cnt++;
}
$asorted[$maxcmpidx] = $ainsert;
for ($i = $maxcmpidx; $i > 0; $i--){
if ($asorted[$i][1] > $asorted[$i-1][1]){
$atmp = $asorted[$i-1];
$asorted[$i-1] = $asorted[$i];
$asorted[$i] = $atmp;
continue ;
}
break;
}
for ($i = $cnt; $i > $maxcnt; $i--){
unset($asorted[$i-1]);
}
print_r($asorted);
推荐阅读
-
php将一维数组转换为每3个连续值组成的二维数组,维数二维数组_PHP教程
-
通过PHP current函数获取未知字符键名数组第一个元素的值
-
php数组转json展示中文的一句代码,求解释
-
php从数组中获得一个随机元素的方法_PHP教程
-
javascript判断一个字符串或者数组里面出现最多的元素及其出现的次数(代码实例)
-
php数组函数序列之array_pop() - 删除数组中的最后一个元素_php技巧
-
php通过array_shift()函数移除数组第一个元素的方法,array_shift移除
-
php怎么改变数组最后一个元素的值
-
php中判断数组是一维,二维,还是多维的解决方法
-
PHP二维数组矩形转置的实例代码分享