php数组合并array_merge()函数使用注意事项

 更新时间:2016年11月25日 17:05  点击:1961
array_merge()函数在php中是对数据进行合并的,可以把多个数组合成一个数组,并且不改变原数组的值了,但今天我在使用array_merge合并数组时碰到几个小细节上的问题,下面我举例子给各位朋友看看。

1.array_merge()合并

例子

 代码如下 复制代码

$array = array('a'=>'bb');
$array2 = array('b'=>'cc');
$array3 = array_merge($array,$array2);

输出结果为

Array ( [a] => bb [b] => cc )

上面因为都是数组就没有问题了,假如我们把$array 设置不是数组看看什么情况

 代码如下 复制代码


$array = 1;//array('a'=>'bb');
$array2 = array('b'=>'cc');
$array3 = array_merge($array,$array2);
print_r( $array3 );

运行后结果

Warning: array_merge() [function.array-merge]: Argument #1 is not an array in E:test1.php on line 4

告诉我们必须是要一个数组了,那么这个我就有多种方法来解决,

1.使用is_array() 进行判断了,但是会发现如果合并数组比较多一个个判断不合理,后来发现可以转换数据类型

 代码如下 复制代码

$array = 1;//array('a'=>'bb');
$array2 = array('b'=>'cc');
$array3 =  array_merge((array)$array,(array)$array2);
print_r( $array3 );

输出结果不报错了

Array ( [0] => 1 [b] => cc )

他自动把数字1转换成了数组了,所以大家在使用时一定要注意这些细节哦。

如果我们是一维数组增加数组元素我们可以使用ArrayListay_push,当然除这种方法之外我们还有更直接的办法,下面我来给大家整理php数组添加元素的一些方法总结。


一,一维数组增加元素

$ArrayList = ArrayListay(); 
Array_push($ArrayList, el1, el2 ... eln); 

但其实有一种更直接方便的做法:

 代码如下 复制代码

$ArrayList = ArrayListay(); 
$ArrayList[] = el1; 
$ArrayList[] = el2; 
... 
$ArrayList[] = eln; 

两种方法得出的效果是一样的

添加一个或多个元素

 代码如下 复制代码

<?php
    $ArrayList1 = ArrayListay("a", "b");
    Array_push($ArrayList1, "c", "d");
    print_r($ArrayList1);
  ?>
  运行结果:
   ArrayListay
  (
   [0] => a
   [1] => b
   [2] => c
   [3] => d
  )

注:如果第一个参数不是数组,ArrayListay_push() 将发出一条警告

在数组开头插入元素

1.ArrayListay_unshift

使用方法

 代码如下 复制代码

<?php
$array_Qlist = ArrayListay("军民联防", "banana");
Array_unshift($array_Qlist, "西瓜", "吹牛B");
print_r($array_Qlist);
?>

输出

ArrayListay
(
    [0] => 西瓜
    [1] => 吹牛B
    [2] => 军民联防
    [3] => banana
)

数组添加关联元素使用使用ArrayListay_push或者ArrayListay_unshift是行不通了,那么我们要如何增加呢


使用ArrayListay_merge方法实现类似ArrayListay_unshift在开头添加元素的功能

 代码如下 复制代码

<?php
$array_Qlist = ArrayListay('a', 'B');
$array_Qlist = Array_merge(ArrayListay('front' => '你好小www.111cn.net'), $array_Qlist);
/*
ArrayListay
(
    [front] => 你好小www.111cn.net
    [0] => a
    [1] => b
)
*/
?>

2.+操作符

 代码如下 复制代码

<?php
$array_Qlist = Array('a', 'B');
$array_Qlist = Array('front' => '你好小www.111cn.net') + $array_Qlist;
?>

输出结果与使用ArrayListay_merge方法一样。

3.在元素结尾添加关联数组元素

 代码如下 复制代码

<?php
$array_Qlist = ArrayListay('a', 'B');
$array_Qlist['front'] = '你好小www.111cn.net';
/*
输出
ArrayListay
(
    [0] => a
    [1] => b
    [front] => 你好小www.111cn.net 
)
*/
?>

至于有些朋友说Array_push增加元素与直接$a[]='a'这种性能要差点之外其它的都是一样,如果只要一个值就没可比性了哦。

下面给大家总结了两种实现金字塔打印的方法,一种是利用了自定义函数,另一种是利用了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 />";
}
?>

在以交们都是讲述如何来删除数组中重复元素了,今天我看到一文章是写要我们如何获取数组中重复元素最多的那个,下面一起来看具体例子。
 代码如下 复制代码

<?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
)
*/
?>
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服务后新密码生效!

[!--infotagslink--]

相关文章

  • 总结android studio注意事项及打不开等问题解决方法

    经过一段时间的使用,总结了android studio打不开等问题的6种解决方法及android studio注意事项,希望对大家有所帮助。 1 首次运行,建立好项目需要下载一些东西,如果...2016-09-20
  • Illustrator文字转曲的操作方法与注意事项分享

    今天小编在这里就来给Illustrator的这一款软件的使用者们来说一说文字转曲的操作方法以及注意事项,各位想知道具体信息的使用者们,那么下面就快来跟着小编一起看看吧。...2016-09-14
  • 网页页面控制注意事项

    1、检查标题。2、检查版权信息,尤其是电话号码。3、图片、文件定位问题。4、产品页面首页指向产品类别问题。5、文章页面首页指向文章类别问题。6、产品图片大小...2016-09-20
  • 微信小程序页面开发注意事项整理

    这篇文章主要介绍了微信小程序页面开发注意事项整理的相关资料,需要的朋友可以参考下...2017-05-22
  • 网站改版要怎么那些?网站改版注意事项

    站改版是每个站长必然经历的过程,也是每个网站必定会发生的状态。网站希望建设越来越好改版是不可避免的,但是网站改版对于网站优化和推广来说又是一大弊端,无论是网站结...2016-10-10
  • 站长注意:网站性能最佳体验

    1、尽量减少HTTP请求次数 终端用户响应的时间中,有80%用于下载各项内容。这部分时间包括下载页面中的图像、样式表、脚本、Flash等。通过减少页面中的元素可以减...2016-10-10
  • php 总结数值计算的注意事项

    php数值计算有一些结果可能并不是我们想的那样但它这样计算有自己的理论基础了,下面我们来看一篇php 总结数值计算的注意事项吧。 一:四舍五入 1.round —...2016-11-25
  • PHP匿名函数与注意事项详解

    匿名函数是PHP5.3引进来了,php5.3不但引进了匿名函数还有更多更好多新的特性了,下面我们一起来了解一下PHP匿名函数与注意事项详解 PHP5.2 以前:autoload, PDO 和 My...2016-11-25
  • 网站SEO中页面搜索结果匹配的注意事项

    什么是搜索结果匹配?非常简单,我们把它分成完全匹配和部分匹配。那么究竟什么是完全匹配呢?我们先来举个例子,百度搜“seo是什么”,结果中出现红色的字就是匹配项。 ...2016-10-10
  • PHP双引号使用注意事项

    双引号在php使用中我们通常把它定义为字符串了,但你知道双引号在使用过程中会有一些小问题呢,那么有什么问题我们来看看 PHP很多语法特性会让攻击者有机可乘,例如PH...2016-11-25
  • MYSQL到ORACLE程序迁移的注意事项

    MYSQL到ORACLE程序迁移的注意事项 2001-09 有很多应用项目, 刚起步的时候用MYSQL数据库基本上能实现各种功能需求,随...2016-11-25
  • 新站成长的几点注意事项

    第一:网站别急着上线   有的童鞋网站上线就是买了空间和域名之后,将程序直接丢在空间里面,然后就是哪天有问题,就随机随地的修改;这里,我自己是不赞同的,网站买了空间之后,...2016-10-10
  • BootStrap注意事项小结(五)表单

    这篇文章主要介绍了BootStrap注意事项小结(五)表单的相关资料,非常不错,具有参考借鉴价值,,需要的朋友可以参考下...2017-03-13
  • ORACLE数据库应用开发的三十个注意事项

    今天笔者结合二十余年的ORACLE数据库应用开发和运维的经验教训,总结在使用ORACLE数据库环境中的应用开发中需要注意的一些注意事项,这些问题不但可以作为ORACLE数据库开发的注意事项,大多数也适用于常见的关系型数据库开发甚至非关系型数据开发。...2021-06-06
  • 经验共享:网站建设中应该注意的12个错误

    本文认真总结了网站建设中我们难免犯的一些错误,希望大家做网站的时候要提高警惕。   1. “欢迎访问本站”?免了吧!   像这样没有意义的玩艺儿,包括商号...2017-07-06
  • 高端网站建设规避网站设计注意事项

    今天文章要给大家介绍的是高端网站建设规避网站设计注意事项,让大家更好的了解网站建设,还不知道的下面就一起来看看。 现在做网站不仅仅只是做网站这样简单,如何让...2017-07-06
  • php中数组合并操作

    将多个数组合并起来 1.合并数组 array_merge()函数将数组合并到一起,返回一个联合的数组。所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加。...2016-11-25
  • ASP.NE网站发布注意事项简析

    ASP.NET网站部署到IIS中的关键点,本文介绍了一些ASP.NE网站在发布是需要注意事项,需要了解的朋友可以参考下...2021-09-22
  • php中STRPOS查找失败返回的是FALSE注意事项

    strpos() 函数返回字符串在另一个字符串中第一次出现的位置了,但是我们在按官方的手册来测试时发现一直返回false了,那么要如何来解决 STRPOS用法strpos(string,fin...2016-11-25
  • PHP命令行执行PHP脚本的注意事项总结

    文章来给各位同学介绍在PHP命令行执行PHP脚本的注意事项总结,如果你不注意这些东西,很可能服务器安全就出问题哦。 如果你使用的wamp集成安装环境的话,那么你php的...2016-11-25