php 中array_merge函数特性(其中一个参数为null)

需要合并两个从数据库中读取的数组,用php中的array_merge函数,最后结果总是为null,通过dump,发现这是由于其中的一个数组是null造成的。演示如下:

<?php

$arr1 =null;

$arr2 = array(‘tom‘,‘linken‘);

$arr3 = array_merge($arr1,$arr2);

var_dump($arr3);

运行的结果为null。

解决办法是可以在进行merge的时候把两个参数进行array强制类型转化;

如下:

<?php

$arr1 =null;

$arr2 = array(‘tom‘,‘linken‘);

$arr3 =array_merge((array)$arr1,(array)$arr2);

var_dump($arr3);

运行结果为:

array(2) { [0]=> string(3)"tom" [1]=> string(6) "linken" }

问题解决,这样就不用在代码中判断$arr1和$arr2是否为null了。

原文地址:https://www.cnblogs.com/xiaokele1314/p/8320834.html

时间: 2024-11-13 10:35:43

php 中array_merge函数特性(其中一个参数为null)的相关文章

在i.jsp 中,url地址栏输入一个参数,值是整型,要求倒着输出

<% String k = request.getParameter("k"); int tt = Integer.parseInt(k); out.println(tt+"<br><br><br>"); while(tt>0){ out.print(tt%10); tt= tt/10; } %> 原文地址:https://www.cnblogs.com/wudashuai/p/9153744.html

js拼装字符串中调用函数传递多个参数。

var txt = '<button href="javascript:void(0);" onclick="editItemXmys(\''+row.XMYS_ID+"','"+row.ITEM_NO+'\')" class="iput_m" style="width: 40px; height: 20px;">' + '修改' + '</button>'; 原文地址:https:

More Effective C++----(12)理解&quot;抛出一个异常&quot;与&quot;传递一个参数&quot;或&quot;调用一个虚函数&quot;间的差异

Item M12:理解"抛出一个异常"与"传递一个参数"或"调用一个虚函数"间的差异 从语法上看,在函数里声明参数与在catch子句中声明参数几乎没有什么差别: class Widget { ... }; //一个类,具体是什么类 // 在这里并不重要 void f1(Widget w); // 一些函数,其参数分别为 void f2(Widget& w); // Widget, Widget&,或 void f3(const W

有关php array_merge函数的用法

分享下array_merge函数的用法. PHP中合并数组分成两种情况:1.如果这两个数组中有相同的字符串键名 2.如果这两个数组中有相同的数值键名 重新认识php array_merge函数 今天因一个Bug重新审视了下array_merge()这个函数.定义:array_merge — 合并一个或多个数组规范:array array_merge(array $array1 [, array $...])说明:1. 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面.2. 如

Scala函数特性

通常情况下,函数的参数是传值参数:即参数的值在它被传递给函数之前被确定.但是,如果我们需要编写一个接收参数不希望马上计算,直到调用函数内的表达式才进行真正的计算的函数.对于这种情况,Scala提供按名称参数调用函数. 示例代码如下: 结果: 在代码中,如果定义函数的时候,传入参数不是传入的值,而是传入的参数名称(如代码中使用t: => Long而不是t: Long),在调用该函数时,不会立即执行和参数有关的计算,而是到参数真正使用到的时候才进行计算. 结果说明:主函数调用delayed函数后,并

MySQL中concat函数(连接字符串)

MySQL中concat函数使用方法:CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意:如果所有参数均为非二进制字符串,则结果为非二进制字符串. 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串.一个数字参数被转化为与之相等的二进制字符串格式:若要避免这种情况,可使用显式类型 cast, 例如:SELECT CONCAT(CAST(int_col AS CHAR), char_col) MySQL的con

php中array_merge合并数组详解

如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的).如果数组是数字索引的,则键名会以连续方式重新索引. 注释:如果仅仅向 array_merge() 函数输入了一个数组,且键名是整数,则该函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引. 代码如下 复制代码 <?php$a=array(3=>"Horse",4=>"Dog");print_r(array_merge($a));?> 将一个或多个数组的单元合并起

mysql中find_in_set()函数的使用

首先举个例子来说: 有个文章表里面有个type字段,它存储的是文章类型,有 1头条.2推荐.3热点.4图文等等 .现在有篇文章他既是头条,又是热点,还是图文,type中以 1,3,4 的格式存储.那我们如何用sql查找所有type中有4的图文类型的文章呢?? 这就要我们的 find_in_set 出马的时候到了.以下为引用的内容: select * from article where FIND_IN_SET('4',type) ---------------------------------

1、C语言中的函数指针

一 通常的函数调用 1 void MyFun(int x); //此处的申明也可写成:void MyFun( int ); 2 3 int main(int argc, char* argv[]) 4 { 5 MyFun(10); //这里是调用MyFun(10);函数 6 7 return 0; 8 } 9 10 void MyFun(int x) //这里定义一个MyFun函数 11 { 12 printf("%d\n",x); 13 } 这个MyFun函数是一个无返回值的函数,它