PHP中array_merge合并两个数组的程序

 更新时间:2016年11月25日 15:05  点击:2224
合并数据在php中我们利用array_merge()函数来实现,array_merge() 函数把两个或多个数组合并为一个数组。 如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的)。如果数组是数字索引的,则键名会以连续方式重新索引。
 代码如下 复制代码

 


<?php
echo "rn第一种情况rn";
$a=array(1,2,3,4,5,6);
$b=array(7,8,9);
 
$c=array_merge ($a,$b);
print_r($c);
$c=$a+$b;
print_r($c);
$c=$b+$a;
print_r($c);
 
 
echo "rn第二种情况rn";
$a=array('a','b','c','d','e','f');
$b=array('a','x','y');
 
$c=array_merge ($a,$b);
print_r($c);
$c=$a+$b;
print_r($c);
$c=$b+$a;
print_r($c);
 
 
echo "rn第三种情况rn";
 
$a=array(
 1=>'a',
 2=>'b',
 3=>'c',
 4=>'d',
 5=>'e',
 6=>'f');
$b=array(
 1=>'a',
 7=>'x',
 8=>'y');
 
$c=array_merge ($a,$b);
print_r($c);
$c=$a+$b;
print_r($c);
$c=$b+$a;
print_r($c);
?>

结果如下:

第一种情况
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
    [6] => 7
    [7] => 8
    [8] => 9
)
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
)
Array
(
    [0] => 7
    [1] => 8
    [2] => 9
    [3] => 4
    [4] => 5
    [5] => 6
)
 
第二种情况
Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
    [6] => a
    [7] => x
    [8] => y
)
Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)
Array
(
    [0] => a
    [1] => x
    [2] => y
    [3] => d
    [4] => e
    [5] => f
)
 
第三种情况
Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
    [6] => a
    [7] => x
    [8] => y
)
Array
(
    [1] => a
    [2] => b
    [3] => c
    [4] => d
    [5] => e
    [6] => f
    [7] => x
    [8] => y
)
Array
(
    [1] => a
    [7] => x
    [8] => y
    [2] => b
    [3] => c
    [4] => d
    [5] => e
    [6] => f
)

1)键名

为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖)

2)键名为字符时,+仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉,但array_merge()此时会覆盖掉前面相同键名的值


注释:如果仅仅向 array_merge() 函数输入了一个数组,且键名是整数,则该函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引

以前听老师讲过sprintf()函数需要使用echo方 法才可以讲格式化后的字符串显示输出,下面我来看一下简单的方法。

我在阅读一些资料,书籍的时候总是总是会看到如下这样的代码

 代码如下 复制代码

$query = sprintf('INSERT INTO %sUSER (USERNAME, PASSWORD, ' .
               'EMAIL_ADDR, IS_ACTIVE, PERMISSION) VALUES ("%s", "%s", "%s", %d, %d)',
                DB_TBL_PREFIX,
               mysql_real_escape_string($this->username, $GLOBALS['DB']),
               mysql_real_escape_string($this->password, $GLOBALS['DB']),
              mysql_real_escape_string($this->emailAddr, $GLOBALS['DB']),
               $this->isActive,
$this->permission);

这边使用了sprintf来格式化字符串,这样的写法和直接用字符串连接符连接起来的写法有什么区别吗。或者说这样更

加严谨

printf()函数与sprintf()函数的语法格式为:
    int printf(string $format[,mixed $arg1[,mixed args2...]])
    string sprintf(string $format[,mixed $arg1[,mixed args2...]])

一个小例子:

 代码如下 复制代码

<h3>PHP中echo,print,printf,sprintf的区别</h3>
<?PHP
$str='let/'s study php!'';
echo $str."<br/>";
$number=print $str."<br/>";
echo $number."<br/>";
$format="%b%c%d";
$number1=printf($format,88,88,88);
echo "<br/>".$number1;
echo "<br/>".sprintf($format,88,88,88);
?>

echo,print,printf,sprintf的介绍


print输出方式的返回值为int类型的,返回值永远是1,print的语法格式如下:
    int print(string $str)
    echo输出方式是没有返回值的,echo的语法格式如下:
    void echo(string $str[,string $str1...])
    在PHP中,一般情况下echo和print是可以通用的,但是在某些情况下两种方式也是有区别的,具体表现在:
    1)echo支持多个参数,但是print只支持一个参数
    2)echo返回值为void,print有一个永远为1的返回值

对属性或方法的访问控制,是通过在前面添加关键字 public、protected 或 private 来实现的。由 public 所定义的类成员可以在任何地方被访问;由 protected 所定义的类成员则可以被其所在类的子类和父类访问(当然,该成员所在的类也可以访问);而由 private 定义的类成员则只能被其所在类访问
 代码如下 复制代码
class Foo
{
    private $name = 'hdj';
    public function getName(){
        return $this->name;
    }
}
 
class Bar extends Foo
{
    public $name = 'deeka';
}
 
$bar = new Bar;
var_dump($bar->name);
var_dump($bar->getName());
在php中时间日期的表达方式有很多种,最常用的是就是时间戳与普通的日期格式,下面我来介绍时间戳与日期之间的转换。

1.php中时间转换函数

strtotime

strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。

语法
strtotime(time,now)

 代码如下 复制代码

strtotime(“today”)

date

PHP Date() 函数可把时间戳格式化为可读性更好的日期和时间。

语法
date(format,timestamp)

 代码如下 复制代码

<?php
echo date("Y/m/d");
echo "<br />";
echo date("Y.m.d");
echo "<br />";
echo date("Y-m-d");
?>

把时间戳转换日期

 代码如下 复制代码

date("Y-m-d H:i",$unixtime)

2.php中获得今天零点的时间戳

要获得零点的unix时间戳,可以使用$todaytime=strtotime(“today”),

然后再使用date("Y-m-d H:i",$todaytime)转换为日期。

3.php中时间戳转换为日期,并按照时间显示不同的内容,如刚刚,分钟前,小时前,今天,昨天等

/*时间转换函数*/

 代码如下 复制代码

function transTime($ustime) {           

  $ytime = date("Y-m-d H:i",$ustime);             

  $rtime = date("n月j日 H:i",$ustime);           

  $htime = date("H:i",$ustime);           

  $time = time() - $ustime;           

  $todaytime = strtotime("today");           

  $time1 = time() - $todaytime;                           

  if($time < 60){                   

    $str = '刚刚';           

  }else if($time < 60 * 60){                            

    $min = floor($time/60);                   

    $str = $min.'分钟前';           

  }else if($time < $time1){                   

    $str = '今天 '.$htime;           

  }else{                   

    $str = $rtime;           

  }             

  return $str;

}

在这个函数中你可以添加更多的比较使显示的日期更加具体,比如添加 秒钟前,前天等更具体的日期。

4.php日期中补0与不补0

echo date('Y-m-d'); 显示2012-08-08

echo date('Y-n-j'); 显示2012-8-8

本文章来介绍PHP date()与time()获取时间与本地时间不一致解决办法,有需要的可参考参考解决办法

在程序中加入

在页头使用

 代码如下 复制代码

date_default_timezone_set()设置我的默认时区为北京时间
date_default_timezone_set('PRC');
echo date('Y-m-d H:i:s');

第一种解决方法:

在程序中设置默认时区。

 代码如下 复制代码

date_default_timezone_set('PRC'); //设置本地时区

第二种解决方法:

修改php.ini,将“date.timezone”项修改为“date.timezone = PRC”

大陆内地可用的值是:Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次为重庆,上海,乌鲁木齐)
港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)
还有新加坡:Asia/Singapore
其他可用的值是:Etc/GMT-8 ,Singapore ,Hongkong ,PRC
注:PRC是中华人民共和国

[!--infotagslink--]

相关文章

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

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • Python 图片转数组,二进制互转操作

    这篇文章主要介绍了Python 图片转数组,二进制互转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
  • 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
  • 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
  • 将二维数组转为一维数组的2种方法

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

    在php中为我们提供了一个函数var_export 他可以直接将php代码入到一个文件中哦。 代码如下 复制代码 var_export($times,true);后面不加tru...2016-11-25
  • PHP 如何获取二维数组中某个key的集合

    本文为代码分享,也是在工作中看到一些“大牛”的代码,做做分享。 具体是这样的,如下一个二维数组,是从库中读取出来的。 代码清单: 复制代码 代码如下: $user = array( 0 => array( 'id' => 1, 'name' => '张三', 'ema...2014-06-07
  • Vue初始化中的选项合并之initInternalComponent详解

    这篇文章主要介绍了Vue初始化中的选项合并之initInternalComponent的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-11
  • js有序数组的连接问题

    1.前言 昨天碰到一道关于如何解决有序数组的连接问题,这是一个很常见的问题。但是这里要考虑到代码的效率问题,因为要连接的数组都是有序的,这是一个非常重要的前提条件。2.简单但效率不高的算法 我首先想到的是使用...2013-10-04
  • js实现文本框输入文字个数限制代码

    这篇文章主要介绍了js实现文本框输入文字个数限制代码,文本框输入的文字个数并不是无限制的,一般都会限定一个输入最高上限,如何限制,请看本文...2015-12-27
  • python 实现将Numpy数组保存为图像

    今天小编就为大家分享一篇python 实现将Numpy数组保存为图像,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-27
  • C#中数组、ArrayList、List、Dictionary的用法与区别浅析(存取数据)

    在工作中经常遇到C#数组、ArrayList、List、Dictionary存取数据,但是该选择哪种类型进行存储数据呢?很迷茫,今天小编抽空给大家整理下这方面的内容,需要的朋友参考下吧...2020-06-25
  • C#中List和数组之间转换的方法

    这篇文章主要介绍了C#中List和数组之间转换的方法,涉及比较简单的转换技巧,需要的朋友可以参考下...2020-06-25