首页 > 代码库 > 每天记一些php函数,jQuery函数和linux命令(二)
每天记一些php函数,jQuery函数和linux命令(二)
简介:学习完了php和jQuery之后,对函数的记忆不到位,导致很多函数没记住,所以为了促进自己的记忆,每天花一点时间来写这个博客。
时间:2016-12-19 地点:太原 天气:晴
一.php函数
1.array_column()函数 返回数组中指定的一列(php5=》php5.5)
说明:
array array_column(array $input,mixed $column_key[,mixed $index_key])
array_column()返回input数组中键值为$column_key的值。
参数:
input:需要取出数组列的多维数组(或者结果集)
column:需要返回值的列,它可以是索引数组的列索引,或者是关联数组的列的键。 也可以是NULL
,此时将返回整个数组(配合index_key
参数来重置数组键的时候,非常管用)
index_key:作为返回数组的索引/键的列,它可以是该列的整数索引,或者字符串键值。
返回值:从多维数组中返回单列数组。
演示:
$test=[ [ "id"=>9952, "name"=>"qiye", "time"=>"2010" ], [ "id"=>8888, "name"=>"qiye2", "time"=>"2011" ], [ "id"=>7777, "name"=>"qiye3", "time"=>"2012" ] ]; print_r(array_column($test,"name")); print_r(array_column($test,"name","id"));
print_r(array_column($test,null,"id"));
结果为:
Array ( [0] => qiye [1] => qiye2 [2] => qiye3 ) Array ( [9952] => qiye [8888] => qiye2 [7777] => qiye3 ) Array ( [9952] => Array ( [id] => 9952 [name] => qiye [time] => 2010 ) [8888] => Array ( [id] => 8888 [name] => qiye2 [time] => 2011 ) [7777] => Array ( [id] => 7777 [name] => qiye3 [time] => 2012 ) )
实现一个类似的函数
function array22($input,$key,$key2=NULL){ // if(function_exists("array_column")){ // return array_column($input,$key,$key2); //} $result=[]; foreach($input as $input2){ if(!is_array($input2)) continue; if(is_null($key)){ $value=http://www.mamicode.com/$input2;"id"=>9952, "name"=>"qiye", "time"=>"2010" ], [ "id"=>8888, "name"=>"qiye2", "time"=>"2011" ], [ "id"=>7777, "name"=>"qiye3", "time"=>"2012" ] ]; print_r(array22($test,"name")); print_r(array22($test,"name","id"));
结果为
Array ( [0] => qiye [1] => qiye2 [2] => qiye3 ) Array ( [9952] => qiye [8888] => qiye2 [7777] => qiye3 )
当然是没有系统内置函数运行快。还是推荐使用内置函数。
2.array_combine() : 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值 (php5)
说明:
array array_combine(array $key,array $value);
返回一个数组,用key数组作为键名,value数组作为键值。
参数:
key:将被作为新数组的键。非法的值会转换成字符串。
value:将被作为新数组的值。
返回值:
返回合并的数组,如果key数组和value数组的单元数不同则返回false。
错误/异常:
如果作为keys
的数组和作为values
的数组的元素个数不一样,将会抛出一个警告错误(E_WARNING
)。
$key=[ 1,2,3,4,5,6,7,8,9 ]; $value=http://www.mamicode.com/[>
结果为:
Array ( [1] => 9 [2] => 8 [3] => 7 [4] => 6 [5] => 5 [6] => 4 [7] => 3 [8] => 2 [9] => 1 )
而且会自动把键名重复的去掉
<? $test=[1,2,3,4,5,5,6,5,5,5,5]; $test2=[2,3,4,5,6,7,8,9,7,5,8]; print_r(array_combine($test,$test2));
输出结果:
Array ( [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 8 [6] => 8 )
每天记一些php函数,jQuery函数和linux命令(二)