首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP 关联数组操作太麻烦,试试这几个 WPJAM Basic 内置的数组处理函数

PHP 有很多非常好用的数组处理函数,PHP 数组函数官方文档都有 80 多个,但是在使用过程,有一些数组的操作使用比较多,我就把这些函数整理成工具函数,然后整合到 WPJAM Basic 中,方便自己的二次开放时候使用...,现在整理放出来,如果你和我一样基于 WPJAM Basic 进行二次开发,也可以使用: wpjam_array_excerpt PHP 从关联数组中移除指定的键值对,一般使用 unset 函数,比如:...,比如后台字段提交的时候,我们希望过滤掉 null 的值,如果元素也是一个关联数组的时候,我们希望关联数组元素中的 null 的值也会过滤掉。...wpjam_array_first($array, function($value) { return $value >= 150; }); // 200 wpjam_array_merge 如果我们要合并的数组是多维的关联数组...wpjam_array_pull 要从关联数组中移除并返回指定的键值,一般需要两步操作,先取出,然后 unset 数组中的键值对: $array = ['name' => 'Desk', 'price'

53150
您找到你想要的搜索结果了吗?
是的
没有找到

Python 数据处理 合并二维数组和 DataFrame 中特定列的值

; 将这个随机数数组与 DataFrame 中的数据列合并成一个新的 NumPy 数组。...在本段代码中,numpy 用于生成随机数数组和执行数组操作,pandas 用于创建和操作 DataFrame。...print(random_array) print(values_array) 上面两行代码分别打印出前面生成的随机数数组和从 DataFrame 提取出来的值组成的数组。...结果是一个新的 NumPy 数组 arr,它将原始 DataFrame 中 “label” 列的值作为最后一列附加到了随机数数组之后。...运行结果如下: 总结来说,这段代码通过合并随机数数组和 DataFrame 中特定列的值,展示了如何在 Python 中使用 numpy 和 pandas 进行基本的数据处理数组操作。

5600

PHP 关联数组的十大使用技巧

关联数组是 PHP 中使用最广泛的一种数据类型,PHP 内置多种操作关联数组的函数,对开发人员来说,要从中找出最有效,最合适自己所开发程序的方法来操纵这些数组。...: $weixin_card_types['GROUPON'] = '团购券'; 如果正在处理数字索引数组,可能想使用明确的函数来前置和追加元素,如 array_push()和 array_unshift...() 函数,但这些函数不能操作关联数组。...假设在数组中的数据要做些统一处理,比如增加数量,可以使用 array_map() 函数给每个数组元素应用一个回调。...8、确定键和值是否存在 可以使用in_array()函数确定一个数组元素是否存在。 if (in_array("折扣券", $weixin_card_types)) { echo "存在!"

77360

巧用指针引用实现多级省市区嵌套

开发中经常遇到需要将一个二维结构的数据转换为N级嵌套(如多级菜单、省市区嵌套等),一般遇到这种问题我们会借助数据表添加冗余列配合代码,高级点的可以再配合数据库的存储过程,简单粗暴点的是把数据拉回来后代码多次循环处理...2.1 第一部分 第1~33行代码跟主逻辑并无关联,主要的作用是模拟从数据库拉取数据,生成一个二维数组。方便直接运行代码查看效果等,避免了建表的麻烦。...第47行我们创建一个省份节点,包含所有后续结果需要的信息,且包含了市节点Cities的空数组。...52行将节点添加到一个以节点ID(行政区划代码)为键的关联数组(映射表)中,并且是通过指针(引用)的方式添加的,之所以这么做是为了这后面是市和区做准备。...第54行将节点添加到最终结果数组中,这样$root变量就是我们最终需要的值。

1.2K20

PHP基于array_unique实现二维数组去重

array_unique函数就是可以处重的,它具备了这个功能了,下面我们一来看一个关于PHP使用array_unique对二维数组去重处理例子。...php 5.2.9 版本增加了array_unique对多维数组的支持,在处理多维数组是需要设置sort_flags参数 一维数组的重复项: 使用array_unique函数即可,使用实例如下: 代码如下...结果如下: Array ( [0] = apple [1] = banana [2] = pear [4] = wail [5] = watermalon ) 二维数组去重项 代码如下 例如...1,’b’= ‘Hello’), 1= array(‘a’= 1,’b’= ‘other’) ); 使用方法 array_unique($result, SORT_REGULAR); 二维数组的重复项...: 对于二维数组咱们分两种情况讨论,一种是因为某一键名的值不能重复,删除重复项;另一种因为内部的一维数组不能完全相同,而删除重复项,下面举例说明: ㈠因为某一键名的值不能重复,删除重复项 PHP代码如下

1.9K30

laravel实现简单用户权限的示例代码

这里有两个方面的维度,谁,就是用户维度,在用户维度,权限管理的粒度可以是用户一个人,也可以是将用户分组,如果将用户分组,则涉及到的逻辑是一个用户可以在多个组里面?...这里使用admin.validate的权限控制,这样,可以将权限分组,admin都是关于admin相关的分组,在数据库中,我就会存储一个二维数组,[admin] = [‘validate’, ‘index...’]; 存储成二维数组而不是一维的好处呢,一般后台展示是有两个维度的,一个是头部的tab栏,一个是左边的nav栏,就是说这个二维数组和后台的tab,nav栏是一一对应的。...$permission, $permission_db)) { return true; } return false; } // permission 是一个二维数组...keys[0]][] = $keys[1]; } $this- attributes['permissions'] = json_encode($ret); } } 在数据库中,我将二维数组存储为

93720

PHP数据结构(十一) ——图的连通性问题与最小生成树算法(2)

该算法需要引入一个二维数组,记录任意两个顶点之间的权值,如果两个顶点没有连接,则权值为无穷大。 5、总结 Prim算法和Kruskal算法,区别在于从顶点切入还是从边切入。...两个算法都需要引入一个二维数组,用于存储任意两点间的权值,当两点没有连接时,权值为无穷大,表示该点无法直接到达另一点。...($node1,$nodeStack) && in_array($node2, $nodeStack)){ continue;/...,将二维数组转换成一维数组 privatefunction changeArray($arrToChange){ $res= array();...两者实现方式较为不同,Prim算法主要以栈的思想进行解决,因此实际编码过程中进出栈的处理逻辑需要理清楚;Kruskal重在排序,当每条边的长度排好时,其他问题迎刃而解。

1.2K100

php常用函数总结有哪些

查找字符串在另一字符串中的第一次出现的位置 大小写敏感示例:strpos("Hello", "H") 结果: 0strpos("Hello", "J") 结果:false md5() 简单的加密 不可逆(就是不能通过加密值推算出加密前的值...array_push 插入数组尾部示例:array_push([1, 2 ,3 ], 4]) 结果: [1, 2, 3, 4] array_unshift 插入数组开头一个或多个值示例:array_unshift...合并两个数组示例:array_merge([1, 3], [2, 4]) 结果:[1, 2, 3, 4] array_search 搜索数组中是否有值示例:array_search([1, 3], 3)... 结果:1 返回的值数组的key in_array 检查数组中是否存在某个值示例:in_array(1, [1, 2, 3]) 结果:true array_unique 删除数组中的重复值示例:array_unique...rsort() : 按键值逆序排序ksort() : 按关联数组的键名升序排序,排序的结果保留键值的关联关系 count() 统计差不多就是这些啦,感紧收藏起来吧。

21050

ThinkPHP 3.X 5.X order by 注入

概述 在 ThinkPHP 5.1.23 之前的版本中存在 SQL 注入漏洞,该漏洞是由于程序在处理 order by 后的参数时,未正确过滤处理数组的 key 值所造成。...如果该参数用户可控,且当传递的数据为数组时,会导致漏洞的产生。 ThinkPHP 5.1 中的更新日志也可看到:V5.1.23(2018-8-23)改进order方法的数组方式解析,增强安全性。...from xxx order by `$key` limit 1; -- limit 1 是自动拼接上的 联合注入时,经常使用 order by 4 来判断字段数,当 4 被反引号包裹时还能起到同样的效果?...不能堆叠注入,待继续突破! 看下 V5.1.23 的补丁,order by 后的 ) 没了,还能继续绕?...总结 TP 3 这个注入还是挺实用的,TP 5 还需要继续研究下,如果不能获取到列名,很难利用。

66820

PHP- 复合数据类型-数组的使用

数组的使用在PHP中,可以使用以下方法来声明和使用数组变量:$myArray1 = array(1, 2, 3); // 使用array()函数声明索引数组变量或者$myArray2 = [1, 2,...3]; // 使用[]语法声明索引数组变量或者$myArray3 = array( 'Alice' => 95, 'Bob' => 87, 'Charlie' => 92); // 使用...array()函数声明关联数组变量或者$myArray4 = [ 'Alice' => 95, 'Bob' => 87, 'Charlie' => 92]; // 使用[]语法声明关联数组变量可以使用...foreach循环遍历数组中的元素:foreach ($myArray1 as $value) { echo $value;}或者foreach ($myArray3 as $key => $value...$value;}可以使用count()函数获取数组的元素个数:echo count($myArray1); // 输出:3可以使用in_array()函数检查数组中是否包含指定元素:if (in_array

47631

PHP封装的数据库模型Model类完整示例【基于PDO】

query($sql);//返回pdo对象 //var_dump($res); if ($res) { $arr = $res- fetchAll(2); //var_dump($arr); //从二维数组中取出指定下标的列...in_array($k,$this- allFields)) { unset($data[$k]); } } //将数组中的键取出 $keys = array_keys($data); //将数组中取出的键转为字符串拼接...; //echo $sql; $this- sql = $sql; return (int)$this- exec($sql); } /** * 查询多条数据 * @return array 成功返回二维数组...limit}"; $this- sql = $sql; //执行SQL,结果集是一个对象 $res = $this- query($sql); //判断是否查询成功, if ($res){ //成功返回二维数组...tableName} {$this- where} limit 1"; $this- sql = $sql; //执行SQL,结果集为对象 $res = $this- query($sql); //处理结果集

1.2K32

PHP判断数组是否有重复值、获取重复值

= count(array_unique($arr))) { echo '该数组有重复值'; } 二、获取重复的值(一维数组的值完全相等是重复;如果是二维数组二维数组中的值必须完全相同才是重复) function...getRepeat($arr) { // 获取去掉重复数据的数组 $unique_arr = array_unique ( $arr ); // 获取重复数据的数组 $repeat_arr...= array_diff_assoc ( $arr, $unique_arr ); return $repeat_arr; } 三、二维数组局部键对应值数据判断是否重复 /* 作用:根据二维数组中的部分键值判断二维数组中是否有重复值...参数: $arr —— 目标数组 $keys —— 要进行判断的键值组合的数组 返回:重复的值 扩展:判断的键值 */ function getRepeat...in_array($str, $unique_arr) ){ $unique_arr[] = $str; } else { $repeat_arr

3.7K20

PHP数据结构(十一) ——图的连通性问题与最小生成树算法(1)

二、关节点和重连通分量 1、定义 1)当删去图的节点V以及和B相关联的各边后,图若被分割成两个或以上的图,则称V为关节点。...该算法需要引入一个二维数组,记录任意两个顶点之间的权值,如果两个顶点没有连接,则权值为无穷大。 4、Kruskal 挪至下一篇文章描述,原因见上述 斜体字。...两个算法都需要引入一个二维数组,用于存储任意两点间的权值,当两点没有连接时,权值为无穷大,表示该点无法直接到达另一点。...$this->siteWeigh= $data; }else{ //构造二维数组...两者实现方式较为不同,Prim算法主要以栈的思想进行解决,因此实际编码过程中进出栈的处理逻辑需要理清楚;Kruskal重在排序,当每条边的长度排好时,其他问题迎刃而解。

1.4K90

PHP精选数组函数

编程怎么能少的了数组呢,以下是学习PHP时常用的数组处理函数。...在编程中查手册是少不了的,所以要会学着使用已有的东西,就如PHP中的数组处理函数已经有排序函数了,为什么还要在写东西是费着劲去写冒泡或者堆排或者快排呢。   ...以下总结的数组常用的函数,可能有些读者会感觉有些少,众人拾柴火焰高,如果感觉还有其他常用的数组处理函数,给个评论留下呗,不要吝啬自己的知识嘛,和别人分享东西不是一件很快乐的东西。...>     输出结果:45 5.其他函数 array_unique() 去除数组中的相同元素 in_array()检测一个值是否在数组中(返回true和false) array_search...var_dump($my_array); echo ""; echo in_array(5,$my_array); echo ""; $new=array_search

91880
领券