• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

php 算法之切割数组,不用array_chunk(),算法之二,取数组的差值,不用array_diff() ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

    用php写算法切割数组,不用array_chunk();算法例如以下所看到的。

<?php
//$array 数组
//$size  每一个数组的个数
//每一个数组元素是否默认键值
function array_chunk_list($array, $size, $preserve_keys = false)
{
    reset($array);
    $i = 0;
    foreach ($array as $key => $value) {
        // 是否存在这个值
        if (! isset($newarray[$i])) {
            $newarray[$i] = array();
        }
        if (count($newarray[$i]) < $size) { // 先推断的问题
            if ($preserve_keys == false) {
                $newarray[$i][] = $value;
            } else {
                $newarray[$i][$key] = $value;
            }
        } else {
               $i++;
            if ($preserve_keys == false) {
                $newarray[$i][] = $value;
            } else {
                $newarray[$i][$key] = $value;
            }
        }
    }
    return $newarray;
}
  
  $array=array(1,2,3,4,5,6,7);
  print_r(array_chunk_list($array, 2,true));

   用php写算法取数组的差值。不用array_diff():代码例如以下

   

function arraydiffemulation($arrayform, $arrayagaist)
{
    $arrayagaist = array_flip($arrayagaist);
    foreach ($arrayform as $key => $value) {
        if (isset($arrayagaist[$value])) {
            unset($arrayform[$key]);
        }
    }
    return $arrayform;
}

$arrayform=array(\'a\',\'b\',\'c\',\'d\',\'e\');
$arrayagaist=array(\'b\',\'c\',\'d\');
print_r(arraydiffemulation($arrayform, $arrayagaist));



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
php友好格式化时间发布时间:2022-07-10
下一篇:
PHP笔记(PHP初级篇)发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap