简介:学习完了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=$input2;
			}else{
			      $value=$input2[$key];
			}
			if(is_null($key2)){
			      $result[]=$value;
			}else{
			      $value2=$input2[$key2];
				  $result[$value2]=$value;
			}
	  }
	  return $result;
}
$test=[
            [
			    "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=[
          9,8,7,6,5,4,3,2,1
       ];
$a = array_combine($key,$value);
print_r($a);

结果为:

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命令(二)的更多相关文章

  1. php数组函数,字符串,linux命令

    1>> Linux常用命令一. 文件目录操作命令1. ls命令    命令格式:ls [选项] [目录名]    命令功能:列出目标目录中所有的子目录和文件.2. 命令格式:cd [目录名 ...

  2. jQuery函数与对象(一)

    一.jQuery函数jQuery函数的两种表现形式:1.jQuery()2.$()说明:在jQuery中使用jQuery()与$()是等价的,一般情况下均使用$() jQuery函数中可以存放的四种参 ...

  3. jQuery源码笔记(二):定义了一些变量和函数 jQuery = function(){}

    笔记(二)也分为三部分: 一. 介绍: 注释说明:v2.0.3版本.Sizzle选择器.MIT软件许可注释中的#的信息索引.查询地址(英文版)匿名函数自执行:window参数及undefined参数意 ...

  4. (function($){...})(jQuery) 函数详解

    function(arg){...} 这是一个匿名函数,参数是arg. 而调用匿名函数时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要用括号,即: function(arg){.. ...

  5. jQuery源码分析-03扩展工具函数jQuery.extend

    // 扩展工具函数 jQuery.extend({ // http://www.w3school.com.cn/jquery/core_noconflict.asp // 释放$的 jQuery 控制 ...

  6. jquery的2.0.3版本源码系列(2):21行-94行定义了一些变量和函数 jQuery=function(){}

    2.1.bug通过索引查询 这里的#13335是bug的索引,如何查询呢? 第一步,浏览器地址栏输入"https://bugs.jquery.com/". 第二步,在网页的搜索框里 ...

  7. jquery 函数大全

    jquery函数大全转载  Attribute:$(”p”).addClass(css中定义的样式类型); 给某个元素添加样式$(”img”).attr({src:”test.jpg”,alt:”te ...

  8. jQuery 函数位于一个 document ready 函数中

    在我们的实例中的所有 jQuery 函数位于一个 document ready 函数中: $(document).ready(function(){ --- jQuery functions go h ...

  9. jquery函数写法

    普通jquery函数写法 <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script&g ...

  10. 2016/2/26 jQuery的技术 1,安装 2,语法选择器$ 事件触发 3,常用jQuery函数

    在<网页制作Dreamweaver(悬浮动态分层导航)>中,运用到了jQuery的技术,轻松实现了菜单的下拉.显示.隐藏的效果,不必再用样式表一点点地修改,省去了很多麻烦,那么jQuery ...

随机推荐

  1. spring 整合hibernate

    1. Spring 整合 Hibernate 整合什么 ? 1). 有 IOC 容器来管理 Hibernate 的 SessionFactory2). 让 Hibernate 使用上 Spring 的 ...

  2. python 面向对象-笔记

    1.如何创建类 class 类名: pass class bar: pass 2.创建方法 构造方法,__init__(self,arg) obj = 类('a1') 普通方法 obj = 类(‘xx ...

  3. easyui 中datagrid 点击行的事件

    $('#datagrid 的ID').datagrid({                onClickRow:function(index,data)                {        ...

  4. @RequestBody接收ajax的json字符串

    在使用ajax进行请求,并传递参数时,偶尔需要把数组作为传递参数,这是就要使用@RequestBody来解决这个问题 在页面端的处理: (1)利用JSON.stringify(arr)需要把json对 ...

  5. Linux下调试程序方法

    您可以用各种方法来监控运行着的用户空间程序:可以为其运行调试器并单步调试该程序,添加打印语句,或者添加工具来分析程序.本文描述了几种可以用来调试在 Linux 上运行的程序的方法.我们将回顾四种调试问 ...

  6. JAVA学习笔记(二):eclipse智能提示(转)

    存盘 Ctrl+s(肯定知道)注释代码 Ctrl+/取消注释 Ctrl+\(Eclipse3已经都合并到Ctrl+/了)代码辅助 Alt+/快速修复 Ctrl+1代码格式化 Ctrl+Shift+f整 ...

  7. .net学习笔记--文件读写的几种方式

    在.net中有很多有用的类库来读写硬盘上的文件 一般比较常用的有: File:1.什么时候使用:当读写件大小不大,同时可以一次性进行读写操作的时候使用         2.不同的方式可以读写文件类型不 ...

  8. mssql

    1.打开php.ini,将 ;extension=php_mssql.dll前面的分号(;)去掉,然后重启 Apache. 如果不行的话,进行第2步: 2.检查一下你的php安装目录下的ext下面有没 ...

  9. 我的Git使用-资料查询,名博笔记

    1.首先您要知道什么是GIT 2.然后对其GIT的历史有所了解(吹牛b的时候用得着,如果还不知道 linux 脱袜子 Linus Torvalds  o(︶︿︶)o ) Git 常用资料查询站点. 官 ...

  10. shadow Dom(shadowRoot) 访问

    示例 gtx.shadowRoot.getElementById("translation") gtx为host对象 起因 抓去chorome谷歌翻译插架的内容.有信息的内容div ...