由于开发属于公司自己的内容管理系统,经常遇到一些很简单的问题,但是突然把你难住。使劲查找资料解决问题,就像今天给文章做排序这个功能,说起来很简单吧,我在前台传递过来文章的ID和顺序,在后台接受到以后需要将两个个数组合成一个数组。
刚开始的时候我用foreach循环将两个数组合成一个数组。这样做起来功能虽然实现了,但是呢,在我的印象中还想海油更简单的方法。于是我就将PHP函数库看了一遍。发现
array_combine这个函数。
array_combine
(PHP 5)
array_combine — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
说明
array array_combine ( array $keys , array $values )
返回一个 array,用来自 keys 数组的值作为键名,来自 values 数组的值作为相应的值。
参数
-
keys
-
将被作为新数组的键。非法的值将会被转换为字符串类型(string)。
-
values
-
将被作为数组的值。
返回值
返回合并的 array,如果两个数组的单元数不同则返回 FALSE。
错误/异常
如果作为keys的数组和作为values的数组的元素个数不一样,将会抛出一个警告错误(E_WARNING)。
更新日志
版本 |
说明 |
5.4.0 |
(修复)早期版本中如果是空数组就报E_WARNING的错并且返回FALSE。 |
范例
Example #1 一个 array_combine() 简单的例子
$a = array('green', 'red', 'yellow');
$b = array('avocado', 'apple', 'banana');
$c = array_combine($a, $b);
print_r($c);
?>
Array
(
[green] => avocado
[red] => apple
[yellow] => banana
)
于是很简单的就解决这个问题,没事的时候还是应该多看看PHP函数库啊。呵呵,php用一个数组值作为其键名另一个数组值作其值建新数组,就这样简单的解决了。