如果所有数组的逻辑相同,如何避免重复 foreach?

这个问题是关于如何在 PHP 中生成更好的代码。


我有多个数组(准确地说是 5 个)。我必须对所有这些应用相同的逻辑。如何避免为所有这些重复代码?


$cpus = getCPUs(); // Get array 1 dimension with key

$rams = getRAMs(); // Get array 1 dimension with key

我的意思是,里面的代码,我只需要创建一个函数。没关系。但是我仍然必须为每个数组声明一个 foreach 循环......


有没有办法避免这种情况?就像从变量中获取我的 foreach 循环参数一样。


foreach ($cpus as $key_cpu => &$cpu) {

    // FUNCTION XXX

}


foreach ($rams as $key_ram => &$ram) {

    // FUNCTION XXX

}


慕娘9325324
浏览 108回答 2
2回答

九州编程

您可以简单地使用两个foreachs:foreach ([&$cpus, &$rams] as &$components) {  foreach ($components as $key => &$component) {     // FUNCTION XXX  }}请注意,所有这些引用都需要能够分配另一个值$component并让它也修改原始值(如建议的问题)。理想情况下,如果可以的话,您会希望避免这样做。如果这些组件是数组,请改为使用对象进行探索。

浮云间

为循环所有数组编写通用函数/方法并返回任何你想要的......function loop_array($array){    $return_data=array()    foreach ($array as $key => &$data) {            // FUNCTION XXX    }    return $return_data;}
打开App,查看更多内容
随时随地看视频慕课网APP