openlss / func-mda
PHP的MDA(多维度数组)访问助手
0.0.11
2013-09-08 20:50 UTC
Requires
- php: >=5.3.2
Requires (Dev)
- openlss/core-boot: dev-master
This package is not auto-updated.
Last update: 2024-09-14 12:54:48 UTC
README
PHP的MDA(多维度数组)访问助手
使用方法
$array = array('test'=>array('test2'=>array('test3'=>'value'))); //get a key $val = mda_get($array,'test.test2.test3'); //returns 'value' //set a key mda_set($array,'test.test2.test3','newvalue'); //add a key mda_add($array,'test.test2.test4','value3'); //get the added key $val = mda_get($array,'test.test2.test4.0'); //return 'value3'
参考
键(路径)
MDA键在每一个函数中都会使用。有时它们被称为“路径”或“路径”
- 点符号表示法
- 表示法:mda_get($arr,'index1.index2.index3.index4.0')
- 数组:$arr['index1']['index2']['index3']['index4'][0]
- 参数表示法
- 表示法:mda_get($arr,'index1','index2','index3','index4','0')
- 数组:$arr['index1']['index2']['index3']['index4'][0]
- 混合表示法
- 表示法:mda_get($arr,'index1.index2.index3','index4','0')
- 数组:$arr['index1']['index2']['index3']['index4'][0]
(mixed) mda_get(&$arr,$path=null)
从 $arr 返回键
(mixed) mda_set(&$arr,$path=null)
所有设置函数都将值作为最后一个参数 Example
mda_set($arr,'index1','index2','index3.index4','value');
(mixed) mda_add(&$arr,$path=null)
与设置相同,但它将值添加为匿名索引
mda_add($arr,'index1.index2','value'); //is the same as $arr['index1']['index2'][] = 'value';
(bool) mda_del(&$arr,$path=null)
从数组中删除路径
(mixed) mda_del_value(&$arr,$path=null)
这将删除路径上的所有值
$arr['index'][0] = 'value'; $arr['index'][1] = 'value'; mda_del_value($arr,'index','value'); $count = count($arr['index']); //returns 0
(bool) mda_exists_value(&$arr,$path=null)
这将检查路径中是否存在值,与 mda_del_value() 相同
(bool) mda_exists(&$arr,$path)
检查路径是否存在
(array) mda_flatten(&$arr,$keyname)
注意:这不需要路径,它需要键名
- 使用 mda_get 来找到可能的最低路径,并将其传递给此函数
- 例如:$arr = mda_flatten(mda_get($arr,'path1.path2.path3'),'row_id');
(string) implodei($join,$arr=array())
与PHP的implode原型相同,但具有增强的功能,它可以接受$join作为数组。如果$join是一个字符串,它将直接传递给PHP的implode,这更快
$array = array(1,2,3,4,5); $join = array('/','.',','); $str = implodei($join,$array); //returns 1/2.3,4,5
注意:数组的最后一个成员将被重复
(mixed) mda_shift($arr)
注意:这不会增加数组的指针(与 array_shift() 不一样)仅用于移动匿名数组,它不会引用原始数组,否则它与PHP的 array_shift() 相同
(array) mda_merge($arr,$arr[,$arr...])
将递归合并数组,类似于 array_merge 但不与 array_merge_recursive 相同,后者是错误的