array_walk_recursive 对数组中的每个成员递归地应用用户函数
基本语法
bool array_walk_recursive ( array &$input , callable $funcname [, mixed $userdata = NULL ] )
将用户自定义函数 funcname 应用到 array 数组中的每个单元。本函数会递归到更深层的数组中去。在funcname 函数中,数组的键名和键值是该函数的参数。
参数介绍:
参数 | 描述 |
---|---|
input | 必需。输入的数组。 |
funcname | 必需。用户自定义函数的名称。典型情况下 funcname 接受两个参数。input 参数的值作为第一个,键名作为第二个。 |
userdata | 可选。如果提供了可选参数 userdata,将被作为第三个参数传递给 callback funcname。 |
Note:如果 funcname 需要直接作用于数组中的值,则给 funcname 的第一个参数指定为引用。这样任何对这些单元的改变也将会改变原始数组本身。
返回值
成功时返回 TRUE,或者在失败时返回 FALSE 。
实例:
<?php $sweet = array( 'a' => 'apple', 'b' => 'banana' ); $fruits = array( 'sweet' => $sweet, 'sour' => 'lemon' ); function test_print($item, $key) { echo " $key holds $item <br/>"; } array_walk_recursive($fruits, 'test_print'); ?>
运行结果:
a holds apple
b holds banana
sour holds lemon
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
问题内容: 我有两个数组,我想检查是否每个元素都在中。如果元素的值在中重复,则该元素的值必须相等。最好的方法是什么? 问题答案: 一种选择是对两个数组进行排序,然后遍历两个数组,然后比较元素。如果在超级袋中未找到子袋候选中的元素,则前者不是子袋。排序通常为O(n *log(n)),比较为O(max(s,t)),其中 s 和_t_是数组大小,总时间复杂度为O(m * log(m)) ,其中m =ma
问题内容: 我想比较两个双打数组。使用香草JUnit,我可以执行以下操作: 我想知道如何使用Hamcrest做到这一点,最好不要创建自定义Matchers(如果可能)。类似于对数组中的每个元素使用“关闭”匹配器。 问题答案: 如果更改为a,则可以使用以下辅助方法: 您也可以使用原始数组来完成此操作,但是您将需要一个自定义匹配器。
当我将处理程序作为箭头函数传递时,我的抛出一个警告: 我从这篇文章中读到的答案是:https://stackoverflow.com/questions/36677733/why-shouldnt-jsx-props-use-arrow-functions-or-bind#:~:text=why%20you%20shownt%20use,previous%20function%20is%20gar
问题是,在添加数组元素时不能逐个处理元素。相反,它将整个数组视为一个单独的元素。因此,在最后,我得到的是一个“数组数组”,而我希望得到的是如下所示: 为了得到这个结果,上述查询应该如何重新制定?
例如,对于 我想得到 有没有办法不用for循环或使用? 编辑:实际数据由1000行组成,每行100个元素,每个元素的范围从1到365。最终目标是确定有重复的行的百分比。这是一个作业问题,我已经解决了(用for循环),但我只是想知道是否有更好的方法来做它与Numpy。
我想比较两个数组的双打。使用香草JUnit,我可以: