为了账号安全,请及时绑定邮箱和手机立即绑定

对多个多维数组执行相同的逻辑

对多个多维数组执行相同的逻辑

PHP
翻翻过去那场雪 2021-07-13 17:01:14
我目前正在尝试以下操作:我定义了多个数组。它们都是通过从数据库中获取数据来填充的,因此它们都包含相同的列/数据结构,但具有不同的数据。例如,假设数组是不同的学校,所以有://pseudoCode:array1 = ({"Name: Peter", "Surname: not peter"},{"Name: doe", "Surname: john"});array2 = ({"Name: asfwe", "Surname: qwfqwf"},{"Name: asfas", "Surname: fsbng"});array3 = ({"Name: weqw", "Surname: wqeqewqw"},{"Name: doqweqwee", "Surname: wewe"});现在,对于所有这些数组,我想做同样的事情。就我而言,我有多个 if else 情况,检查数组的长度并做一些事情。到目前为止,我只为数组 1 做这件事。现在我的第一个想法是简单地复制逻辑并将所有变量名称分别重构为 array2 到 array3,但这没有意义,因为在我的真实情况下,它的 10 个数组而不是 3 个,逻辑大约是 150 行代码,所以我会有很多重复的代码,如果逻辑中的某些内容发生变化,我需要在任何地方更改它。现在的问题是:如何对每个数组执行相同的过程?所以我需要的是://pseudoCode againforeach(array in array1, array2, array3, array4, array5,....){//do something with variable "array", which is actually one of the defined arrays}正确方向的提示会很棒。先感谢您。
查看完整描述

1 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

程序代码要求导出逻辑函数:


function foo($array) {

    // modify the array or do what ever you need

    return $array; // in case it has been modify

}

现在你可以作为:


foreach($arrays as &$arr)

    $arr = foo($arr); // calling the function on each array

    // the re-assign is just in case it has been modify

在这个例子中$arrays,所有内部数组都代表数组:


$arrays = array($array1, $array2, $array3, ...) 

如果您的数组从其他函数/SQL 代码动态获取,请执行以下操作:


$arrays = []; // init empty array

while (@SOME_CONDITION@) {

    $arrays[] = getAnotherArrayFunction(); // append the array to your array

}


查看完整回答
反对 回复 2021-07-16
  • 1 回答
  • 0 关注
  • 136 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信