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

 更新时间:2016年11月25日 17:05  点击:1941
在以交们都是讲述如何来删除数组中重复元素了,今天我看到一文章是写要我们如何获取数组中重复元素最多的那个,下面一起来看具体例子。
 代码如下 复制代码

<?php
/**
 *
 * @author http://www.111cn.net
 * 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
)
*/
?>
下面给大家总结了两种实现金字塔打印的方法,一种是利用了自定义函数,另一种是利用了for循环了,其实两都用到了只是前者高级一些吧。

自定义函数实现金字塔

 代码如下 复制代码
<?php
/**
 * 金字塔
 * string fun_py(int $rows = 9, bool $sort=true)
 * $rows 表示行数 必须为整数 并且必须在1-20之间
 * $sort 表示排序 true表示正序 FALSE表示倒序
 */
function fun_py($rows = 9, $sort=true){
 if ($rows<1 || $rows>20){
  return "必须在1-20之间";
 }
 if($rows!=(int)($rows)){
  return '行数 必须为整数';
 }
 $str="";
 if($sort){
  for($i=1;$i<=$rows;$i++){
   $str.= '<br/>';
   for($j=1;$j<=$i;$j++){
    if($j==1){
     for($k=1;$k<=($rows-$i);$k++){
      $str.= '&nbsp';
     }
    }
    $str.= '*'.'&nbsp';
   }
  }
 } else{
  for($i=$rows;$i>=1;$i--){
   $str.= '<br/>';
   for($j=1;$j<=$i;$j++){
    if($j==1){
     for($k=1;$k<=($rows-$i);$k++){
      $str.= '&nbsp';
     }
    }
    $str.= '*'.'&nbsp';
   }
  }
 }
 return $str;
}
echo fun_py(9,false);
?>


下面再实现个金字塔形状物,通用也是用到for循环

 代码如下 复制代码

<?php
/**
金字塔正序
**/
for($a=1;$a<=10;$a++){
 for ($b=10;$b>=$a;$b--){
    echo "&nbsp";
  }
 for ($c=1;$c<=$b;$c++){
   echo "*"."&nbsp";
 }
 echo "<br />";
}
?>

同样想让这个金字塔倒立起来呢

 代码如下 复制代码

<?php
/**
金字塔玩倒立
**/
for($a=10;$a>=1;$a--){
 for ($b=10;$b>=$a;$b--){
    echo "&nbsp";
  }
 for ($c=1;$c<=$b;$c++){
   echo "*"."&nbsp";
 }
 echo "<br />";
}
?>

phpmyadmin修改mysql用户的密码我们要注意一点的是,如果你修改的是你自己登录的用户密码,那么我们修改之后就必须在phpmyadmin配置文件中进行修改,下面我们一起来看看。

点击顶部的“SQL”标签进入sql命令输入界面。输入以下命令:

update mysql.user set password=PASSWORD('snsgou$123456') where user='root';

注意了,如果你修改了root密码之后我们的phpMyAdmin的配置文件中的密码也需要修改,否则登录不上去哦。

找到

$cfg['Servers'][$i]['password'] = '';

修改为

$cfg['Servers'][$i]['password'] = 'snsgou$123456';

 
重启MySQL服务后新密码生效!

在php中我们利用file_exists来判断本地的文件是否存在,那么如何用PHP判断远程文件是否存在呢,下在我们一起来看一个例子,希望此例子是你需要用到的哦。
 代码如下 复制代码

<?php
/*

*用PHP判断远程图片(文件)是否存在

*http://www.111cn.net

*/

function check_remote_file_exists($url) {
    $curl = curl_init($url);
    
// 不取回数据

    curl_setopt($curl, CURLOPT_NOBODY, true);
    
// 抓取跳转后的内容

    curl_setopt($curl, CURLOPT_FOLLOWLOCATION,1);
    
// 发送请求

    $result = curl_exec($curl);
    $found = false;
    
// 如果请求没有发送失败

    if ($result !== false) {
        
// 再检查http响应码是否为200

        $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
        var_dump($statusCode);
        if ($statusCode == 200) {
            
// $retcode >= 400 -> not found, $retcode = 200, found.

            $found = true;
        }
    }
    curl_close($curl);
 
    return $found;
}
 
$exists = check_remote_file_exists('http://www.111cn.net /allimg/090403/140941513J2-2.jpg');
if ($exists) {
    echo '存在';
} else {
    echo '不存在';
}
 
$exists = check_remote_file_exists('http://www.111cn.net /allimg/090403/140941513J2-4.jpg');
if ($exists) {
    echo '存在';
} else {
    echo '不存在';
}
exit;
?>

还有一种简单的方法,但效率是低下的。

 代码如下 复制代码
strstr(current(get_headers($url)), "200")
最近由于项目要求做一个统计功能,统计当前日期之前的前30天的记录。功能挺简单,下面将本次实现的方法和大家分享一下,方便有需要的朋友们。

其实主要就是用到了php的strtotime这个函数,strtotime('n day'),示例如下:

 代码如下 复制代码

$days=array();

for($i=0;$i<=7;$i++){ //这里数字根据需要变动
 

$days[]=date("Y-m-d",strtotime('-'.$i.'day'));

}

echo '<pre>';print_r($days);

结果将显示如下:

 代码如下 复制代码

Array
(
    [0] => 2014-03-21
    [1] => 2014-03-20
    [2] => 2014-03-19
    [3] => 2014-03-18
    [4] => 2014-03-17
    [5] => 2014-03-16
    [6] => 2014-03-15
    [7] => 2014-03-14
)

[!--infotagslink--]

相关文章

  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • PHP成员变量获取对比(类成员变量)

    下面本文章来给大家介绍在php中成员变量的一些对比了,文章举了四个例子在这例子中分别对不同成员变量进行测试与获取操作,下面一起来看看。 有如下4个代码示例,你认...2016-11-25
  • Python 图片转数组,二进制互转操作

    这篇文章主要介绍了Python 图片转数组,二进制互转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
  • php 获取用户IP与IE信息程序

    php 获取用户IP与IE信息程序 function onlineip() { global $_SERVER; if(getenv('HTTP_CLIENT_IP')) { $onlineip = getenv('HTTP_CLIENT_IP');...2016-11-25
  • php获取一个文件夹的mtime的程序

    php获取一个文件夹的mtime的程序了,这个就是时间问题了,对于这个问题我们来看小编整理的几个例子,具体的操作例子如下所示。 php很容易获取到一个文件夹的mtime,可以...2016-11-25
  • 如何获取网站icon有哪些可行的方法

    获取网站icon,常用最简单的方法就是通过website/favicon.ico来获取,不过由于很多网站都是在页面里面设置favicon,所以此方法很多情况都不可用。 更好的办法是通过google提供的服务来实现:http://www.google.com/s2/favi...2014-06-07
  • php数组操作 键名比较 差集 交集赋值

    本文章提供在量的数据中级操作实例有如对键名比较计算数组的差集 计算差集 给指定数组中插入一个元素 反转数组 交集赋值新的数组实例。 //定义回调函数 funct...2016-11-25
  • C#二维数组基本用法实例

    这篇文章主要介绍了C#二维数组基本用法,以实例形式分析了C#中二维数组的定义、初始化、遍历及打印等用法,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • C#数组的常用操作方法小结

    Array数组在C#中同样是最基本的数据结构,下面为大家C#数组的常用操作方法小结,皆为细小的代码段,欢迎收看收藏...2020-06-25
  • php curl模拟post请求和提交多维数组的示例代码

    下面一段代码给大家介绍php curl模拟post请求的示例代码,具体代码如下: <&#63;php$uri = "http://www.cnblogs.com/test.php";//这里换成自己的服务器的地址// 参数数组$data = array ( 'name' => 'tanteng'// 'passwor...2015-11-24
  • jquery如何获取元素的滚动条高度等实现代码

    主要功能:获取浏览器显示区域(可视区域)的高度 : $(window).height(); 获取浏览器显示区域(可视区域)的宽度 :$(window).width(); 获取页面的文档高度 $(document).height(); 获取页面的文档宽度 :$(document).width();...2015-10-21
  • jquery获取div距离窗口和父级dv的距离示例

    jquery中jquery.offset().top / left用于获取div距离窗口的距离,jquery.position().top / left 用于获取距离父级div的距离(必须是绝对定位的div)。 (1)先介绍jquery.offset().top / left css: 复制代码 代码如下: *{ mar...2013-10-13
  • Jquery 获取指定标签的对象及属性的设置与移除

    1、先讲讲JQuery的概念,JQuery首先是由一个 America 的叫什么 John Resig的人创建的,后来又很多的JS高手也加入了这个团队。其实 JQuery是一个JavaScript的类库,这个类库集合了很多功能方法,利用类库你可以用简单的一些代...2014-05-31
  • C# 拷贝数组的几种方法(总结)

    下面小编就为大家带来一篇C# 拷贝数组的几种方法(总结)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • PHP 二维数组根据某个字段排序的具体实现

    本文记录的要实现的功能类似于 MySQL 中的 ORDER BY,上个项目中有遇到这样的一个需求。 要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条。 遇到这个...2014-06-07
  • C#实现字符串转换成字节数组的简单实现方法

    这篇文章主要介绍了C#实现字符串转换成字节数组的简单实现方法,仅一行代码即可搞定,非常简单实用,需要的朋友可以参考下...2020-06-25
  • c#将字节数组转成易读的字符串的实现

    这篇文章主要介绍了c#将字节数组转成易读的字符串的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
  • C#获取字符串后几位数的方法

    这篇文章主要介绍了C#获取字符串后几位数的方法,实例分析了C#操作字符串的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • C#读取文件所有行到数组的方法

    这篇文章主要介绍了C#读取文件所有行到数组的方法,涉及C#针对文件及数组的相关操作技巧,需要的朋友可以参考下...2020-06-25
  • 将二维数组转为一维数组的2种方法

    如何将下面的二维数组转为一维数组。复制代码 代码如下:$msg = array(  array(    'id'=>'45',    'name'=>'jack'  ),  array(    'id'=>'34',    'name'=>'mary'  ),  array(    'id...2014-05-31