引用 :
http://www.w3school.com.cn/php/func_array_compact.asp
http://www.w3school.com.cn/php/func_array_combine.asp
http://php.net/manual/zh/function.range.php
http://php.net/array_fill
1. php compact()函数
定义和用法
compact() 函数创建包含变量名和它们的值的数组。
注释:任何没有变量名与之对应的字符串都被略过。
语法
compact(var1,var2...)
参数 | 描述 |
---|---|
var1 | 必需。可以是带有变量名的字符串,或者是变量数组。 |
var2,... | 可选。可以是带有变量名的字符串,或者是变量数组。允许多个参数。 |
说明
compact() 函数创建一个由参数所带变量组成的数组。如果参数中存在数组,该数组中变量的值也会被获取。
本函数返回的数组是一个关联数组,键名为函数的参数,键值为参数中变量的值。
本函数执行的行为与 extract() 正好相反。
技术细节
返回值: | 返回带有所有变量名和它们的值的数组。 |
PHP 版本: | 4+ |
创建一个由参数所带变量组成的数组
$firstname = "Bill";
$lastname = "Gates";
$age = "60";
$result = compact("firstname", "lastname", "age");
print_r($result);//<span style="font-family: Simsun;font-size:14px;">Array ( [firstname] => Bill [lastname] => Gates [age] => 60 )</span>
如果参数中存在数组,该数组中变量的值也会被获取。
任何没有变量名与之对应的字符串都被略过
$firstname = "Bill";
$lastname = "Gates";
$age = "60";
$name = array("firstname", "lastname");
$result = compact($name, "location", "age");
print_r($result);//<span style="font-family: Simsun;font-size:14px;">Array ( [firstname] => Bill [lastname] => Gates [age] => 60 )</span>
2. php array_combine() 函数
定义和用法
array_combine() 函数通过合并两个数组来创建一个新数组,其中的一个数组是键名,另一个数组的值为键值。
注释:键名数组和键值数组的元素个数必须相同!
如果其中一个数组为空,或者两个数组的元素个数不同,则该函数返回 false。
语法
array_combine(keys,values);
参数 | 描述 |
---|---|
keys | 必需。键名数组。 |
values | 必需。键值数组。 |
提示和注释
注释:两个参数必须有相同数目的元素。
技术细节
返回值: | 返回合并后的数组。如果两个数组的元素个数不匹配,则返回 FALSE。 |
PHP 版本: | 5+ |
更新日志: | 在 PHP 5.4 版本之前,如果数组为空,将会报 E_WARNING 级别错误并返回 FALSE。 |
$fname=array("Bill","Steve","Mark");
$age=array("60","56","31");
$c=array_combine($fname,$age);
print_r($c);//<span style="font-family: Simsun;font-size:14px;">Array ( [Bill] => 60 [Steve] => 56 [Mark] => 31 )</span>
3. php range()函数
range
(PHP 4, PHP 5, PHP 7)
range — 建立一个包含指定范围单元的数组
参数
-
序列的第一个值。
-
序列结束于
limit
的值。 -
如果给出了
step
的值,它将被作为单元之间的步进值。step
应该为正值。如果未指定,step
则默认为 1。
start
limit
step
返回值
返回的数组中从 start
到 limit
的单元,包括它们本身。
更新日志
版本 | 说明 |
---|---|
5.0.0 | 添加了可选参数 step 。 |
4.1.0 to 4.3.2 | 在 PHP 版本 4.1.0 到 4.3.2 中,range() 将数字字符串看作字符串而不是整数,因此将会被作为字符序列使用。例如,"4242" 会被当作"4" 来对待。 |
4.1.0 | 在版本 4.1.0 之前 range() 函数只产生递增的整数数组。对于字符序列和递减数组的支持是 4.1.0 加入的。字符序列值的长度限定为一。如果输入的长度超过一,则只使用第一个字符。 |
print_r(range("a","z"));//Array ( [0] => a [1] => b [2] => c [3] => d [4] => e [5] => f [6] => g [7] => h [8] => i [9] => j [10] => k [11] => l [12] => m [13] => n [14] => o [15] => p [16] => q [17] => r [18] => s [19] => t [20] => u [21] => v [22] => w [23] => x [24] => y [25] => z )
print_r(range(0,10));//Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 [6] => 6 [7] => 7 [8] => 8 [9] => 9 [10] => 10 )
print_r(range("11","22"));//Array ( [0] => 11 [1] => 12 [2] => 13 [3] => 14 [4] => 15 [5] => 16 [6] => 17 [7] => 18 [8] => 19 [9] => 20 [10] => 21 [11] => 22 )
4. php array_fill()函数
array_fill
(PHP 4 >= 4.2.0, PHP 5, PHP 7)
array_fill — 用给定的值填充数组
说明
array_fill() 用 value
参数的值将一个数组填充 num
个条目,键名由 start_index
参数指定的开始。
参数
-
返回的数组的第一个索引值。
如果
start_index
是负数, 那么返回的数组的第一个索引将会是start_index
,而后面索引则从0开始。 -
插入元素的数量。 必须大于 0。
-
用来填充的值。
start_index
num
value
返回值
返回填充后的数组。
错误/异常
如果 num
少于一个,将会抛出 E_WARNING
。
print_r(array_fill(5, 6, 'hello'));//Array ( [5] => hello [6] => hello [7] => hello [8] => hello [9] => hello [10] => hello )
print_r(array_fill(-2, 4, 'world'));//Array ( [-2] => world [0] => world [1] => world [2] => world )