php面试php数组变ahp,php实现把数组按指定的个数分隔

php实现把数组按指定的个数分隔

复制代码 代码如下:

/**

*

* 把数组按指定的个数分隔

* @param array $array 要分割的数组

* @param int $groupNum 分的组数

*/

public function splitArray($array, $groupNum){

if(empty($array)) return array();

//数组的总长度

$allLength = count($array);

//个数

$groupNum = intval($groupNum);

//开始位置

$start = 0;

//分成的数组中元素的个数

$enum = (int)($allLength/$groupNum);

//结果集

$result = array();

if($enum > 0){

//被分数组中 能整除 分成数组中元素个数 的部分

$firstLength = $enum * $groupNum;

$firstArray = array();

for($i=0; $i

array_push($firstArray, $array[$i]);

unset($array[$i]);

}

for($i=0; $i

//从原数组中的指定开始位置和长度 截取元素放到新的数组中

$result[] = array_slice($firstArray, $start, $enum);

//开始位置加上累加元素的个数

$start += $enum;

}

//数组剩余部分分别加到结果集的前几项中

$secondLength = $allLength - $firstLength;

for($i=0; $i

array_push($result[$i], $array[$i + $firstLength]);

}

}else{

for($i=0; $i

$result[] = array_slice($array, $i, 1);

}

}

return $result;

}

时间: 2014-02-16

如获取第二个$str[1]或$str{1} ,不建议使用{},最好使用[]测试如下 复制代码 代码如下: //获取字符最后一个字符$str = 'phpddt.com';echo $str[strlen($str)-1]; //m//修改第一个字符$str = 'phpddt.com';$str[0] = 'a';  //ahpddt.com//方括号中的数字超出范围将会产生空白.  $str = 'phpddt.com';$str[100] = 'y';  //phpddt.com y//如果

复制代码 代码如下: <?php   class='pingjiaF' frameborder='0' src='http://www.jb51.net' scrolling='no'>  对数组排序  usort() 函数使用用户自定义的函数对数组排序.  */ function cmp($a, $b) //用户自定义回调函数  {  if($a==$b) //如果两个参数相等  {  return 0; //返回0  }  return($a>$b)?-1:1; //如果第1个参数大于

PHP删除数组元素的具体方法: 1.用unset()方法: 复制代码 代码如下: <?php $a=array("red", "green", "blue", "yellow");   count($a); //得到4   unset($a[1]); //删除第二个元素   count($a); //得到3   echo $a[2]; //数组中仅有三个元素,本想得到最后一个元素,但却得到blue,   echo $a[1

php实现正负数数组最大子序列,要求给出数组,该数组由正负数字组成,找出该数组中连续元素组成的子数组的最大值.这其实得算是个背包变种吧. 复制代码 代码如下: <?php $list = array(1,-3,-5,-7,8,9,-11,5); $cur = 0;$term = 0;$res = 0;$begin = 0; foreach($list as $k => $v){ $cur += $v; if($cur < 0){  $cur = 0;  $begin = $k + 1; }

以数字开头的重复数据如: 复制代码 代码如下: Array ( [0] => 100 [k1] => 100 [1] => 2123 [k2] => 2123  ) 该方法可以将以数字为key的值去掉,先将数组按照key倒序排序,然后用array_unique的方法将重复的值去掉.不能适用于下面的情况:不同的key值存在相同的value的情况 复制代码 代码如下: function array_unique_value($arr = array()){      array_mul

关于排序一般我们都是通过数据库或者nosql(eg:redis)先排好序然后输出到程序里直接使用,但是有些时候我们需要通过PHP直接来对数组进行排序,而在PHP里存储数据用到最多的就是对象和数组,但处理较多的就是数组,因为有非常丰富的内置函数库(其实对象一定程度上也可以理解为是数组),这些函数库很大程度上可以帮助我们实现某些功能.常用的系统函数有sort.asort.arsort.ksort.krsort等等,这里我主要说下对二维数组的排序,两种方法: 一.用PHP自带array_multiso

我们来举一个例子: 复制代码 代码如下: <?php   $arr = array('a','b','c','d');  unset($arr[1]);  print_r($arr);  ?> 我之前想象的是unset之后,数组$arr应该会压缩数组以填补缺少的元素位置,但print_r($arr)之后,结果却不是那样的,最终结果是 Array ( [0] => a [2] => c [3] => d ):如果是这样的话,那我们就来看看数字数组的形式 复制代码 代码如下: &l

因为一些特殊字符的显示效果的原因不得不把习惯的utf-8工程改成了GBK,由于使用了ajax技术,又涉及到了老问题--编码转换.一些表单验证需要返回json数据,php的json_encode函数只支持utf-8编码,无奈只得iconv了,需要达到的效果是GBK数组转换成utf-8数组传给json_encode函数. 最开始的思路,将数组序列化后用iconv函数转换编码,之后再反序列化,代码如下: 复制代码 代码如下: unserialize(iconv('gbk','utf-8',serial

因为接口方的要求,用js中处理数据,所以需要php程序从数据库取出数值后赋值给js数组.一直没有找到很好的办法,因为PHP数组的数据编码和JS 数组的编码格式不一样,不能直接输出. 在网上搜索一通后,找到的解决的方法: PHP函数库提供了编/解码JSON的函数:json_encode()和json_decode(),可以比较方便的传递数组或对象给javascript.注意:PHP 5.2以上才绑定了JSON扩展. 在php如下写: 复制代码 代码如下: $arr = array('1',arra

在网上搜了一些方法,最后自己采用的是通过json字串的方式. 假设有一个php 数组 $arr,代码如下: 复制代码 代码如下:

很多时候我们需要将多维数组转成一维数组,因为我们只需要一维数组,而且一维数组使用起来更方便,在PHP中如何将多维数组转成一维数组?下面我们来看看三个多维数组转为一维数组例子:一.使用foreach 复制代码 代码如下: <?php    function arr_foreach ($arr)    {      static $tmp=array();        if (!is_array ($arr))       {         return false;      }      fo

复制代码 代码如下: <?phpclass xtable{ private $tit,$arr,$fons,$sextra; public function __construct() {  $this->tit=array();       // strings with titles for first row   $this->arr=array();       // data to show on cells  $this->fons=array("#EEEEE

我们首先给出两个数组 复制代码 代码如下: <?php    $r = array(1,2,3,4,5,6);   $e = array(7,8,9,10);  ?> 下面我们用array_merge和加号来何必这两数组 复制代码 代码如下: <?php   print_r($r+e); // 输出Array ( [0] => 1 [1] => 2

复制代码 代码如下: function arr2str ($arr){    foreach ($arr as $v)    {        $v = join(",",$v); //可以用implode将一维数组转换为用逗号连接的字符串        $temp[] = $v;    }    $t="";    foreach($temp as $v){        $t.="'".$v."'".",&quo

这个是一个php关于数组的例子,简要的说明了数组的基本使用,示例中加放了注释 复制代码 代码如下: <?php    //定义一个字符串数组$fruit = array(\"apple\",\"orange\");//引用数组的值$fruit[0];//代表的值是apple$fruit[1];//代表的值是orange//值得注意的是,数组的索引是从0开始的,学过c 和java 的人都知道呀. //定义一个数值型的数组$number = array(1,2,3,

注意注释部分的文字介绍哦~ 复制代码 代码如下: <?php //实例化一个数组$array = array();//数组由两部分组成 如下//array(键名[key]=>值[value])//键名一般用与索引//类型可以为 int 或 字符串[int是什么可以查php手册]//所以可以这样写//$array = array(0=>'a',1=>'b');//你也可以这样写//array会自动补充索引键名,默认是 int值 由0开始$array = array('a','b');/

在foreach中循环查询数据代码量比较少,但是性能比较低,好点的解决办法是将id收集起来,用in一次性查询,但是这引发了数据结构不是我们用PHP自带的函数可以合并的,今天测试了一下: 使用下面的字节写的函数可以解决 从数据库中取出来的数据总是或多或少不符合我们心目中的数据结构,类似于下面的俩个数组,要形成SQL中类似于left join后两个数组合并: 复制代码 代码如下: $test1 = Array( 0 => Array( 'id' => 9478137, 'create_time'

复制代码 代码如下: <?php $json='{ "rec_items": [        {            "classes": "玄幻",            "gid": 6326585,            "author": "我吃西红柿",            "nid": 10079306,            "las

00fdc56ac1051dcae4b9c340e6200c11.png

如下所示: import java.util.List; import java.util.ArrayList; import java.util.Set; import java.util.HashSet; public class lzwCode { public static void main(String [] args) { testA(); System.out.println("==========================="); testB(); System

56149a88bef989995eabd0aef3d3c558.gif

如下所示: import java.util.List; import java.util.ArrayList; import java.util.Set; import java.util.HashSet; public class lzwCode { public static void main(String [] args) { testA(); System.out.println("==========================="); testB(); System

数组去重复是一个常见的需求,我们暂时考虑同类型的数组去重复.主要是理清思路和考虑下性能.以下方法,网上基本都有,这里只是简单地总结一下. 思路: 1.遍历数组,一一比较,比较到相同的就删除后面的 2.遍历数组,一一比较,比较到相同的,跳过前面重复的,不相同的放入新数组 3.任取一个数组元素放入新数组,遍历剩下的数组元素任取一个,与新数组的元素一一比较,如果有不同的,放入新数组. 4.遍历数组,取一个元素,作为对象的属性,判断属性是否存在 1. 删除后面重复的: function ov1(arr)

php去掉二维数组的重复值的方法总结,具体代码如下: 方法一: //二维数组去掉重复值 function array_unique_fb($array2D){ foreach ($array2D as $v){ $v=join(',',$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串 $temp[]=$v; } $temp=array_unique($temp); //去掉重复的字符串,也就是重复的一维数组 foreach ($temp as $k => $v){

php中去一维数组的重复项可以通过php内置函数array_unique(),但是php的array_unique函数对多维数组并不适用,怎么才能去除二维数组中的重复项呢? 以下给大家提供一个函数. //二维数组去掉重复值 function unique_arr($array2D,$stkeep=false,$ndformat=true){ $joinstr='+++++'; // 判断是否保留一级数组键 (一级数组键可以为非数字) if($stkeep) $stArr = array_keys

89aff2819788b2d05fdc8d1f9d3bdcd2.png

本文实例讲述了JS实现数组去重复值的方法.分享给大家供大家参考,具体如下: 运行效果图如下: 完整实例代码如下: b899bf5055a0d0142f56c34923187640.png

非常不多说,js数组去掉重复数据的代码如下所示: var arr = [1,2,3,4,5,6,1,6,7,2]; var newArr = []; for(var i =0;i

68280beebefe564cbd0a2db104e38d05.png

根据这段代码,自己编写了一个小程序作为代码资料参考,方便以后可以直接拿来用,不需要网上找.如果你觉得还不错的话,就把它收藏起来吧! 1.前台代码:

数组删除重复值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值