首页 > 代码库 > 每天记一些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命令(二)