每天记一些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=$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命令(二)的更多相关文章
- php数组函数,字符串,linux命令
1>> Linux常用命令一. 文件目录操作命令1. ls命令 命令格式:ls [选项] [目录名] 命令功能:列出目标目录中所有的子目录和文件.2. 命令格式:cd [目录名 ...
- jQuery函数与对象(一)
一.jQuery函数jQuery函数的两种表现形式:1.jQuery()2.$()说明:在jQuery中使用jQuery()与$()是等价的,一般情况下均使用$() jQuery函数中可以存放的四种参 ...
- jQuery源码笔记(二):定义了一些变量和函数 jQuery = function(){}
笔记(二)也分为三部分: 一. 介绍: 注释说明:v2.0.3版本.Sizzle选择器.MIT软件许可注释中的#的信息索引.查询地址(英文版)匿名函数自执行:window参数及undefined参数意 ...
- (function($){...})(jQuery) 函数详解
function(arg){...} 这是一个匿名函数,参数是arg. 而调用匿名函数时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要用括号,即: function(arg){.. ...
- jQuery源码分析-03扩展工具函数jQuery.extend
// 扩展工具函数 jQuery.extend({ // http://www.w3school.com.cn/jquery/core_noconflict.asp // 释放$的 jQuery 控制 ...
- jquery的2.0.3版本源码系列(2):21行-94行定义了一些变量和函数 jQuery=function(){}
2.1.bug通过索引查询 这里的#13335是bug的索引,如何查询呢? 第一步,浏览器地址栏输入"https://bugs.jquery.com/". 第二步,在网页的搜索框里 ...
- jquery 函数大全
jquery函数大全转载 Attribute:$(”p”).addClass(css中定义的样式类型); 给某个元素添加样式$(”img”).attr({src:”test.jpg”,alt:”te ...
- jQuery 函数位于一个 document ready 函数中
在我们的实例中的所有 jQuery 函数位于一个 document ready 函数中: $(document).ready(function(){ --- jQuery functions go h ...
- jquery函数写法
普通jquery函数写法 <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script&g ...
- 2016/2/26 jQuery的技术 1,安装 2,语法选择器$ 事件触发 3,常用jQuery函数
在<网页制作Dreamweaver(悬浮动态分层导航)>中,运用到了jQuery的技术,轻松实现了菜单的下拉.显示.隐藏的效果,不必再用样式表一点点地修改,省去了很多麻烦,那么jQuery ...
随机推荐
- 事务BEGIN TRANSACTION
事务(Transaction)是并发控制的基本单位.所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位.例如,银行转账工作:从一个账号扣款并使另一个账号增款,这 ...
- 被忽略的js细节
今天在写一个程序,出了一点小bug,找了许久许久,终于把问题给揪了出来,真相大白那一刻感觉好蛋疼--深刻体会到了语言之间的差异. <script type="text/javascri ...
- ArcMap中地图输出(Options)选项显示不完整
首先,我开始遇到的时候,认为是高分辨屏幕的问题,所以修改了屏幕的分辨率,结果并没有改变. 然后,认为是对话窗口的显示,修改字体大小,也没有显示完整. 最后,是修改了ArcGIS的注册表才解决.解决方式 ...
- asp.net web api集成微信服务(使用Senparc微信SDK)
/// <summary> /// 微信请求转发控制器 /// </summary> [RoutePrefix("weixin")] public clas ...
- MySQL-Front 建表引发的一点小思考(数据表格模版)
我们建表的时候,有一些字段总是会常用到的.也就是每一张表都会有这些字段. 我用mysql有一点时间了,今天(2016-02-27 21:53:38)在用mysql-front建表的时候,感觉有点点不太 ...
- 最简单的访问google的办法
我用的是猎豹浏览器,在工具下面的猎豹应用市场里面,搜索红杏,安装即可. 打开google产品地址时,如果地址栏里面右边的杏是绿色的,代表正常,如果是红色的,代表不正常. 可能是装了其他代理软件,如Sw ...
- 互联网商业模式O2O、C2C、B2B、B2C等介绍
O2O是online to offline分为四种运营模式: 1.online to offline是线上交易到线下消费体验 2.offline to online是线下营销到线上交易 3.offli ...
- Android中脱离WebView使用WebSocket实现群聊和推送功能
WebSocket是Web2.0时代的新产物,用于弥补HTTP协议的某些不足,不过他们之间真实的关系是兄弟关系,都是对socket的进一步封装,其目前最直观的表现就是服务器推送和聊天功能.更多知识参考 ...
- error: src refspec master does not match any. 错误处理办法
自从上次学了git之后,很少用.今天在使用 本地仓库使用如下命令初始化: $ git init 之后使用如下命令添加远程库: $ git remote add origin git@github.co ...
- js函数和运算符
函数是由事件驱动或者它被调用时执行可重复使用的代码块. <script> function myFunction(){ Alert(“hello World!”): } </scri ...