欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

谋求最优的计算方法

程序员文章站 2022-06-01 22:16:29
...
寻求最优的计算方法
寻求最优的计算数组方法,实在搞不出来了
我有两个数组分别是:
PHP code

$arr1=array(
    array(
        'id'=>1,
        'pos'=>1
    ),
    array(
        'id'=>2,
        'pos'=>2
    ),
    array(
        'id'=>3,
        'pos'=>3
    ),
    array(
        'id'=>4,
        'pos'=>4
    ),
    array(
        'id'=>5,
        'pos'=>5
    ),
    array(
        'id'=>6,
        'pos'=>6
    ),
)

$arr2=array(
    'id'=>7,
    'pos'=>4
)



首先查找$arr2的pos在$arr1中的所有数组的pos中的顺序位置,如果顺序位置一致则按照id倒序获取位置

如上面的代码则应该获取的结果为:$arr2位于$arr1的
PHP code

array(
        'id'=>4,
        'pos'=>4
    ),



之上

------解决方案--------------------
PHP code


1,
        'pos'=>1
    ),
    array(
        'id'=>2,
        'pos'=>2
    ),
    array(
        'id'=>3,
        'pos'=>3
    ),
    array(
        'id'=>4,
        'pos'=>4
    ),
    array(
        'id'=>5,
        'pos'=>5
    ),
    array(
        'id'=>6,
        'pos'=>6
    ),
);

$arr2=array(
    'id'=>7,
    'pos'=>4
);

function array_insert($arr1, $arr2)
{
    $index = 1;
    $insert = false;
    foreach($arr1 as $v)
    {
        if ($v['pos'] == $arr2['pos']) {
            if ($v['id'] 3,
    'pos'=>4
);
$arr1 = array_insert($arr1, $arr2);
print_r($arr1);

$arr2=array(
    'id'=>5,
    'pos'=>6
);
$arr1 = array_insert($arr1, $arr2);
print_r($arr1);
?>

------解决方案--------------------
PHP code
$arr1=array(
    array(
        'id'=>1,
        'pos'=>1
    ),
    array(
        'id'=>2,
        'pos'=>2
    ),
    array(
        'id'=>3,
        'pos'=>3
    ),
    array(
        'id'=>4,
        'pos'=>5
    ),
    array(
        'id'=>5,
        'pos'=>5
    ),
    array(
        'id'=>6,
        'pos'=>6
    ),
);

$arr2=array(
    'id'=>7,
    'pos'=>4
); 
谋求最优的计算方法

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频