【发布时间】:2019-10-14 09:31:46
【问题描述】:
我目前正在尝试以下方法:
我定义了多个数组。它们都是通过从数据库中获取数据来填充的,因此它们都包含相同的列/数据结构,但具有不同的数据。例如,假设数组是不同的学校,那么有:
//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 again
foreach(array in array1, array2, array3, array4, array5,....){
//do something with variable "array", which is actually one of the defined arrays
}
正确方向的提示会很棒。
提前谢谢你。
【问题讨论】:
-
使用
array_merge()? -
将所有逻辑导出到封装数组修改的函数?
-
@AymDev 我仍然需要能够在数组之间进行区分......而且我不知道每个数组的长度,只知道结构
-
然后就像@dWinder 说的,使用一个函数。
-
foreach ($all_your_arrays as $arr) { do_stuff_to_process_array($arr); }?基本上,只需在伪代码中的array1, array2...arrayN周围添加[]即可将它们全部分组到一个数组中以创建$all_your_arrays。
标签: php arrays function multidimensional-array foreach