存档

文章标签 ‘array_slice’

php 合并数组并且获取数组前几条数据

2015年3月16日 评论已被关闭

<?php
    //php 合并数组并且获取数组前几条数据
    $a=array(11,2,3);
    $b=array(2,4,22,5,33);

    //合并的数组可能会有重复数据
    $c=array_merge($a,$b);
    print_r($c);
    /*
    Array
    (
        [0] => 11
        [1] => 2
        [2] => 3
        [3] => 2
        [4] => 4
        [5] => 22
        [6] => 5
        [7] => 33
    )
    */
    //数组去重重复
    $c=array_unique($c);
    print_r($c);
    /*
    Array
    (
        [0] => 11
        [1] => 2
        [2] => 3
        [4] => 4
        [5] => 22
        [6] => 5
        [7] => 33
    )
    */
    //获取与数组$a不重复的2条数据
    $b=array_slice($c,count($a),2);

    print_r($b);
    /*
    Array
    (
        [0] => 4
        [1] => 22
    )
    */

?>

分类: php 标签:

php array_slice 保留键名

2015年3月16日 评论已被关闭

array_slice默认是不保留键名的。

使用array_slice函数要保留键名值,最后一个参数$preserve_keys设置为true即可。

$levels = array('a' => 1, 'b' =>2, 'c' => 3, 'd' => 4, 'f' => 5, 'g' => 6);
$firstLevels = array_slice($levels, 0, 5, true);

参考:
http://stackoverflow.com/questions/4804424/php-extract-part-from-array-keeping-previous-keys
http://php.net/manual/en/function.array-slice.php

分类: php 标签:

PHP获取数组中重复最多的元素

2014年4月2日 评论已被关闭
<?php
/**
 * PHP获取数组中重复最多的元素
 * @author http://www.phpff.com
 * Created on 2014-4-1
 * @param   array $array
 * @param   int [optional] $length
 * @return  array
 */
function mostRepeatedValues($array,$length=0){
    if(empty($array) or !is_array($array)){
        return false;
    }
    //1. 计算数组的重复值
    $array = array_count_values($array);
    //2. 根据重复值 倒排序
    arsort($array);
    if($length>0){
        //3. 返回前 $length 重复值
        $array = array_slice($array, 0, $length, true);
    }
    return $array;
    
}
$array = array(1, 1, 1, 54, 3,4, 3,4, 3, 14, 3,4, 3,7,8,9,12,45,66,5,7,8,9,2,45);
$counts=mostRepeatedValues($array,5);
print_r($counts);
/*
Array
(
    [3] => 5
    [4] => 3
    [1] => 3
    [9] => 2
    [45] => 2
)
*/
?>

参考资料:
http://stackoverflow.com/questions/10612126/getting-the-most-repeated-values-in-an-array
http://php.net/manual/zh/function.asort.php
http://pl.php.net/manual/zh/function.array-slice.php

分类: php 标签:


标签

ajax apache array array_slice CentOS checkbox composer cookie csv curl date DATE_FORMAT excel FCKEditor file_get_contents laravel Magento Certified Developer mb_substr memcache Memcached MySQL String Functions Netbeans openssl php面试题 preg_match_all preg_replace QQ登录 rewrite SaeStorage serialize session setTimeout Sphinx spl Storage strtotime ueditor vsftp vsftpd Zend zip 分割字符串 图片处理 新浪云 正则表达式

存档