当前位置:网站首页>通过&修改数组中的值
通过&修改数组中的值
2022-08-04 05:25:00 【eleven_-11】
下面就直接放出代码,针对使用递归删除数组中的值,存在空数组时,可以过滤空数组,具体实现可以参考以前写的文章,这篇主要介绍’&'处理数组
<?php
$arrTest = array(
'A' => [
'An' => 'anan',
'Bn' => 'bnbn',
],
'C' => [
'Cn' => 'cncn',
'Dn' => 'dndn',
],
);
/**
* 修改数组中的值
* @param $arrToChange array 需要处理的数组
* @return array 返回处理后的数组
*/
function toChangeValue($arrToChange)
{
//使用'&'引用每次遍历过后的值,这样修改的就是原数组的值
foreach ($arrToChange as &$value) {
foreach ($value as &$each) {
if ($each == 'anan') {
$each = 'enen';
}
}
}
return $arrToChange;
}
/**
* 通过递归和'&'删除数组中不符合要求的值
* @param $arrToDelete array 需要处理的数组
* @return array 返回处理后的数组
*/
function toDeleteValue(&$arrToDelete)
{
foreach ($arrToDelete as $key => $value) {
if (is_array($value)) {
//将递归过后的数组地址传值给原数组, 这样才能删除掉原数组中的值,而不是删除复制数组中的值
$arrToDelete[$key] = toDeleteValue($value);
} elseif ($value == 'anan') {
unset($arrToDelete[$key]);
}
}
return $arrToDelete;
}
边栏推荐
- How to view sql execution plan offline collection
- warning C4251: “std::vector&lt;_Ty&gt;”需要有 dll 接口由 class“Test”的客户端使用错误
- static在不同位置定义变量居然还有不同的含义?
- 9. Dynamic SQL
- flink cdc一启动,源端Oracle那台服务器的CPU就飙升到80%以上,会是啥原因呢?
- 3面头条,花7天整理了面试题和学习笔记,已正式入职半个月
- 自动化测试的成本高效果差,那么自动化测试的意义在哪呢?
- MySQL date functions
- 7.16 Day22---MYSQL (Dao mode encapsulates JDBC)
- 8.03 Day34---BaseMapper查询语句用法
猜你喜欢
随机推荐
Handling List
部署LVS-DR群集【实验】
[Cocos 3.5.2]开启模型合批
FLV格式详解
程序员也应了解的Unity粒子系统
【JS】js给对象动态添加、设置、删除属性名和属性值
Redis common interview questions
Unity自动生成阻挡Collider的GameObject工具
JS basics - forced type conversion (error-prone, self-use)
Programming hodgepodge (4)
Tactile intelligent sharing - SSD20X realizes upgrade display progress bar
JNI基本使用
EventBus源码分析
The difference between px, em, and rem
MySQL log articles, binlog log of MySQL log, detailed explanation of binlog log
Delphi-C端有趣的菜单操作界面设计
Landing, the IFC, GFC, FFC concept, layout rules, forming method, use is analysed
力扣:63. 不同路径 II
代码重构:面向单元测试
如何将 DevSecOps 引入企业?









