php手记-数组使用+号添加元素、new class

原创 2015年11月19日 17:54:33

数组使用+号添加元素

$test = [];
$test += ["w"=>1233];
$test += ["w1"=>1233];
$test += ["w2"=>1233];
$test += ["w3"=>1233];
var_dump($test);

//output;
array(4) {
  'w' =>
  int(1233)
  'w1' =>
  int(1233)
  'w2' =>
  int(1233)
  'w3' =>
  int(1233)
}

array_merge和array相加的区别

键名是string,两者区别:

$arr1 = array('a'=>'PHP');
$arr2 = array('a'=>'JAVA');
//如果键名为字符,且键名相同,array_merge()后面数组元素值会覆盖前面数组元素值
print_r(array_merge($arr1,$arr2)); //Array ( [a] => JAVA )
//如果键名为字符,且键名相同,数组相加会将最先出现的值作为结果
print_r($arr1+$arr2); //Array ( [a] => PHP )

键名是数字,两者区别:

$arr1 = array("C","PHP");
$arr2 = array("JAVA","PHP");
//如果键名为数字,array_merge()不会进行覆盖
print_r(array_merge($arr1,$arr2));//Array ( [0] => C [1] => PHP [2] => JAVA [3] => PHP )
//如果键名为数组,数组相加会将最先出现的值作为结果,后面键名相同的会被抛弃
print_r($arr1+$arr2);//Array ( [0] => C [1] => PHP )

array_merge_recursive:

array_merge_recursive() 函数与 array_merge() 函数
一样,将一个或多个数组的元素的合并起来,一个数组中的值附加在前一个数组的后面。并返回作为结果的数组。 但是,与 array_merge()不同的是,当有重复的键名时,值不会被覆盖,而是将多个相同键名的值递归组成一个数组。

$a1=array("a"=>"Horse","b"=>"Dog");
$a2=array("c"=>"Cow","b"=>"Cat");
print_r(array_merge_recursive($a1,$a2));

输出:
Array (
[a] => Horse
[b] => Array ( [0] => Dog [1] => Cat )
[c] => Cow
)

把类名保存在数组里,然后new数组里的类

require "./testB.php";
$test = [];
$test += ["w2"=>"get"];
$test += ["w3"=>"testB"];
new $test["w3"];//==>new testB();
(new $test["w3"])->$test["w2"]();//==>(new testB())->get();
版权声明:转载的时候提到我就行……

相关文章推荐

浅谈PHP第三弹---使用二分查找法查找数组中的元素位置

在php中我们可以通过array_search()函数来查找一个数组内的元素值的键名. 同样,我们可以通过使用二分法来查找数组内的元素的键名. 那什么是二分法呢? 我来解释下: 如果数...
  • lzb2512
  • lzb2512
  • 2013年05月28日 14:46
  • 1199

PHP 使用用户自定义的比较函数对数组元素排序

usort()函数使用用户自定义比较函数对数组中对元素进行排序

php手记-根据类名获得类的定义(get_class_methods、get_class_vars...)

背景 最近在看laravel框架的源码,不知道Route是怎么定义的,找了很久都没找到,遂从网上找有什么方法可以根据类名获得类的命名空间什么的,最后找到了用get_class_methods获得...

php 数组 添加元素、删除元素

原文地址:http://blog.163.com/lishilin_468@126/blog/static/16290113820124411231846/ 拆分数组 PHP数组添加一个元素的...
  • th362cn
  • th362cn
  • 2013年02月07日 11:08
  • 152378

java下Class.forName的作用是什么,为什么要使用它(和new对象的区别)

Class.forName(xxx.xx.xx) 返回的是一个类 首先你要明白在java里面任何class都要装载在虚拟机上才能运行。这句话就是装载类用的(和new 不一样,要分清楚)。  至...

PHP删除数组元素的具体函数介绍: count 与 array_splice

我们在使用PHP语言进行实际代码编写时,经常会和数组打上交道,这对于初学者来说是比较困难的。今天我们就要向大家介绍如何实现PHP删除数组元素。 PHP中的数组要添加元素非常简单,直接用赋值就行了,数...

PHP查找与搜索数组元素

查找、筛选与搜索数组元素是数组操作的一些常见功能。下面来介绍一下几个相关的函数。 in_array()函数 in_array()函数在一个数组汇总搜索一个特定值,如果找到这个值返回true,否则返...

PHP多维数组元素操作类

我的框架里面一个多维数组元素操作类,主要用于读取数组中配置数据,可以通过字符串节点的方式:a.b.c 来获取和设置元素,以及多维数组的覆盖,有需求的可以参考下吧!...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php手记-数组使用+号添加元素、new class
举报原因:
原因补充:

(最多只允许输入30个字)