友情提示:小白购买需注意,程序不包安装,无技术支持,因资源可复制性,不接受任何理由退款。
本站资源仅供学习测试!不得用于非法用途!商业用途与本站无关!资源自行测试不做任何保证!
本站资源默认解压密码:www.itxen.cn或者自行在下载页面查询
PHP 有很多非常好用的数组处理函数,PHP 数组函数官方文档都有 80 多个,但是在使用过程,有一些数组的操作使用比较多,我就把这些函数整理成工具函数,然后整合到 WPJAM Basic 中,方便自己的二次开放的方便使用。
wpjam_array_push
关联数组插入元素是无法指定位置的,只能插在最前或者最后面,所以第一个函数就是可以向关联数组指定的 Key 之前插入元素:
function wpjam_array_push($array, $data=null, $key=false){$data = (array)$data;$offset = ($key===false)?false:array_search($key, array_keys($array));$offset = ($offset)?$offset:false;if($offset){return array_merge(array_slice($array, 0, $offset),$data,array_slice($array, $offset));}else{ // 没指定 $key 或者找不到,就直接加到末尾return array_merge($array, $data);}}function wpjam_array_push($array, $data=null, $key=false){ $data = (array)$data; $offset = ($key===false)?false:array_search($key, array_keys($array)); $offset = ($offset)?$offset:false; if($offset){ return array_merge( array_slice($array, 0, $offset), $data, array_slice($array, $offset) ); }else{ // 没指定 $key 或者找不到,就直接加到末尾 return array_merge($array, $data); } }function wpjam_array_push($array, $data=null, $key=false){ $data = (array)$data; $offset = ($key===false)?false:array_search($key, array_keys($array)); $offset = ($offset)?$offset:false; if($offset){ return array_merge( array_slice($array, 0, $offset), $data, array_slice($array, $offset) ); }else{ // 没指定 $key 或者找不到,就直接加到末尾 return array_merge($array, $data); } }
比如下面在 $columns
的 'author'
之前插入 ['page_title'=>'页面标题']
:
wpjam_array_push($columns, ['page_title'=>'页面标题'], 'author');wpjam_array_push($columns, ['page_title'=>'页面标题'], 'author');wpjam_array_push($columns, ['page_title'=>'页面标题'], 'author');
wpjam_array_first
PHP 的 array_filter()
函数可以通过回调函数过滤数组的元素,但是返回的是过滤后的数组,不过很多时候,我们只是简单的要求返回第一个通过测试的元素:
function wpjam_array_first($array, $callback=null){if($callback && is_callable($callback)){foreach($array as $key => $value){if(call_user_func($callback, $value, $key)){return $value;}}}else{return current($array);}}function wpjam_array_first($array, $callback=null){ if($callback && is_callable($callback)){ foreach($array as $key => $value){ if(call_user_func($callback, $value, $key)){ return $value; } } }else{ return current($array); } }function wpjam_array_first($array, $callback=null){ if($callback && is_callable($callback)){ foreach($array as $key => $value){ if(call_user_func($callback, $value, $key)){ return $value; } } }else{ return current($array); } }
使用非常简单的:
$array = [100, 200, 300];$value = wpjam_array_first($array, function($value) {return $value >= 150;});// 200$array = [100, 200, 300]; $value = wpjam_array_first($array, function($value) { return $value >= 150; }); // 200$array = [100, 200, 300]; $value = wpjam_array_first($array, function($value) { return $value >= 150; }); // 200
wpjam_array_pull
要从关联数组中移除并返回指定的键值,一般需要两步操作,先取出,然后 unset 数组中的键值对,把这两个步骤合成一个函数:
function wpjam_array_pull(&$array, $key){if(isset($array[$key])){$value = $array[$key];unset($array[$key]);return $value;}else{return null;}}function wpjam_array_pull(&$array, $key){ if(isset($array[$key])){ $value = $array[$key]; unset($array[$key]); return $value; }else{ return null; } }function wpjam_array_pull(&$array, $key){ if(isset($array[$key])){ $value = $array[$key]; unset($array[$key]); return $value; }else{ return null; } }
然后直接调用即可:
$name = wpjam_array_pull($array, 'name');$name = wpjam_array_pull($array, 'name');$name = wpjam_array_pull($array, 'name');
wpjam_array_excerpt
PHP 从关联数组中移除指定的键值对,一般使用 unset 函数,如果要移除多个键值对,就要调用多次的 unset 函数,所以就合并成一个函数 :
function wpjam_array_except($array, $keys){if(is_string($keys)){$keys = [$keys];}foreach($keys as $key){unset($array[$key]);}return $array;}function wpjam_array_except($array, $keys){ if(is_string($keys)){ $keys = [$keys]; } foreach($keys as $key){ unset($array[$key]); } return $array; }function wpjam_array_except($array, $keys){ if(is_string($keys)){ $keys = [$keys]; } foreach($keys as $key){ unset($array[$key]); } return $array; }
这样就可以通过下面方式移除键值对了:
$array$array$array
=wpjam_array_except($array, ['price','description']);wpjam_array_except($array, ['price','description']);wpjam_array_except($array, ['price','description']);
如果仅仅移除一个键值对,还可以直接传递字符串:
$array$array$array
=wpjam_array_except($array, 'price');wpjam_array_except($array, 'price');wpjam_array_except($array, 'price');
感谢您的来访,获取更多精彩文章请收藏本站。
© 版权声明
本站网络名称:
老妖IT乐园
本站永久网址:
https://www.itxen.cn
THE END
暂无评论内容