【php5.5新数组函数array_column使用】教程文章相关的互联网学习教程文章

php中的一些不常见的问题foreach/in_array

php在开发效率很高,这是无可厚非的,但是却是在牺牲执行效率的。php数组功能非常强大,但是也要多加考虑,多试几种情况情况,以防万一,这里,我就简单的说两个遇到的坑,以后如果有发现更多的,再补上吧!foreach 提供了遍历数组的简单方式,可以很方便的读取到数据或对象的内容,但是官方文档说了,由于 foreach 依赖内部数组指针,在循环中修改其值将可能导致意外的行为。所以,基本上,1、不要想在循环内部修改里面的值,否则...

php实战之array_merge函数特性-其中一个参数为null

最近做项目时,需要合并两个从数据库中读取的数组,于是想到了用php中的array_merge函数,最后结果总是为null,通过dump,发现这是由于其中的一个数组是null造成的。演示如下:<?php$arr1 =null;$arr2 = array(tom,linken);$arr3 = array_merge($arr1,$arr2);var_dump($arr3);运行的结果为null。解决办法是可以在进行merge的时候把两个参数进行array强制类型转化;如下:<?php$arr1 =null;$arr2 = array(tom,linken);$arr3 =array_...

深入PHP内核之in_array

无意中看到一段代码<?php $y="1800"; $x = array(); for($j=0;$j<50000;$j++){$x[]= "{$j}"; }for($i=0;$i<30000;$i++){if(in_array($y,$x)){continue;} } 测试了一下[root@dev tmp]# time php b.php real 0m9.517s user 0m...

PHP删除Array数组里指定的key(完整版,已封装成函数,附测试代码)

问题背景:array里一般是key---value的存储方式,我们有时候需要删除指定的key及对应的value。但是不知道为啥,那么多帖子都是在讲知道value,并删除该value的事情,差点误导我。现将我写的完整版代码附下:function array_remove($data, $key){if(!array_key_exists($key, $data)){return $data;}$keys = array_keys($data);$index = array_search($key, $keys);if($index !== FALSE){array_splice($data, $index, 1);}return ...

PHP判断数组Array的维度已封装函数

有时候需要判断array的维度,上网查了下很多事类似 http://www.poluoluo.com/jzxy/201306/215088.html 这种写法,拉杂又搞不懂啥意思。下面是我写的:privatestaticfunctionarray_depth($array) {if(!is_array($array)) return0;$max_depth = 1;foreach ($arrayas$value) {if (is_array($value)) {$depth = array_depth($value) + 1;if ($depth > $max_depth) {$max_depth = $depth;}}}return$max_depth;}').addClass('pre-numberi...

array_merge函数的注意事项

array_merge — 合并一个或多个数组array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。   如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。  如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。array_merge will return NULL if any of the a...

array_diff函数的注意事项

array_diff — 计算数组的差集  说明:array array_diff ( array $array1 , array $array2 [, array $... ] )  对比返回在 array1 中但是不在 array2 及任何其它参数数组中的值。注意键名保留不变。  注意:本函数只检查了多维数组中的一维。如果想比较更深的维度需要另写一个函数,今天的工作就遇到了这样的需求,所以写了一个函数来比较更深的维度。<?php header("Content-type:text/html;charset=utf-8"); $json1={ "file...

php数组函数array_key_exists小结

array_key_exists()函数判断某个数组中是否存在指定的key,如果key存在,则返回true,否则返回flasearray_key_exists(key,array);key:必需。规定键名array:必需。规定输入的数组<?php $a = array(a=>Dog,b=>Cat); if(array_key_exists(a,$a)){echo Key exists!; } else{echo Key does not exist!; } ?>输出:Key exists!array_key_exists为什么比in_array快?array_key_exists 和 in_array 查询的东西都不一样吧array_key_exists...

[php函数]--数组函数--array_change_key_case

array_change_key_case版本: >= php4.2说明: array_change_key_case(array input[,intcase=CASE_LOWER ]),将数组的key转换成大写或者小写。参数: input : 被转换的数组case: 大写:CASE_UPPER 小写:CASE_LOWER(默认)例子 :$input = array("startTime"=>1,"endTime"=>2);$output = array_change_key_case($input, CASE_LOWER);print_r($output);//result#array([starttime]=>1, [endtime]=>2)').addClass('pre-numbering'...

[php函数]--数组函数--array_chunk

array_chunk版本:>= 4.2说明: array_chunk(array $input, int $size, [, bool $preserve_keys=false]) 此函数的作用是将数组分块,当我们对数组里的数据做分批处理时可以使用此函数。参数 input 要处理的数组。size 数组块的大小preserve_keys 是否保留原来的数据的key,默认为不保留。例子$input=array("a"=>"php","b"=>"c","c"=>"c++","d"=>"python","e"=>"ruby"); $output = array_chunk($input, 2); #output=>Array ([0] =...

array_merge函数的使用

$condition['is_own'] = 0;$condition['is_pass'] = 0;$notDeal_user_list = array();foreach($tempas$k=>$v){$condition['route_id'] = $v['route_id'];$temp_array = $route_person_model->where($condition)->field('user_id,route_id,id')->select();if(!empty($temp_array)){$notDeal_user_list = array_merge($notDeal_user_list,$temp_array);}//array_merge函数 在其中一个为空的时候最后结果为空//把不同行程的用...

in_array大数组查询性能问题

问题最近在实现一个项目接口的时候发现当数组过大的时候,数据返回的速度有点慢。接口数据返回最长反应时间2s,经过反复调试发现代码段耗时最长的部分在in_array()函数。解决过程在stackoverflow找到了一篇提供我解决思路的文章 - which is faster, array_key_exists or array_search?文中说到:array_key_exists is much faster. array_search must traverse the whole array, so it is O(n). array_key_exists is a hash table ...

PHP二级array转换json

PHP提供函数直接将array转换成jsonjson_encode($param_array);若需要下面这种嵌套式如何处理呢?{"appid": "1500001105","nonce": 32490,"timestamp": 1458195253,"signature": "bf13fe77f46a96edba1a0e2b84fce66580b2f50b","param": {"userid": "bonnie"} }先构成一个二级array,再调用json_encode转换即可。$param = array('userid'=>'bonnie' ); $params = array('appid'=>'1500001105','nonce'=>$nonce,'timestamp'=>$timestam...

phpisset和array_key_exists检查数组中是否存在某值的区别

原文地址: http://ivhong.com/?p=110(ivhong.com 是我的博客主址)先看看下面这段代码,你觉得结果是什么呢?//定义一个数组, > 5.4 $arr = [a => null]; var_dump(isset($arr), array_key_exists(a, $arr));---------------------下面是结果---------------------------/** 输出*bool(false)*bool(true)*///isset 的用法是: 检测变量是否设置,并且不是 NULL。所以会有上面的输出 //如果判断数组中是否存在某个键值,还是乖乖的...

PHP计算数组中值的和与乘积的方法array_sum与array_product函数arrayproductcompanynumpyarrayproductarra

本文实例讲述了PHP计算数组中值的和与乘积的方法。分享给大家供大家参考,具体如下:一、概述:array_sum() 函数用于计算数组中所有值的和。array_product() 函数用于计算数组中所有值的乘积。二、使用示例:array_sum()PHP array_sum() 函数用于计算数组中所有值的和,以整数或浮点数返回计算结果,非数字的单元将视作 0 。语法:number array_sum( array array )例子:<?php $arr_a = array(1, 2, 3, "a"); echo array_sum($arr_...

PHP5 - 相关标签