[英]PHP - best practice to call a function twice with a different param
我有以下 function:
function sortRelevantId($idArray, $maxIds, $xml, $idTpe)
{
for ($i = count($idArray); $i < $maxIds; $i++) {
if ($xml->sub[$i]->type == $idTpe) {
$idArray[] = $i;
}
}
return $idArray;
}
I call these like so,
$idArray = [];
$idArray= sortRelevantId($idArray , $maxIds, $xml, "a");
$idArray= sortRelevantId($idArray , $maxIds, $xml, "b");
我想知道如何更改 function 以便我只需要调用 function 和 function 中的逻辑在类型“a”之后重新运行“a”和“”
谢谢你的帮助
您可以如下更改您的代码。
function sortRelevantId($idArray, $maxIds, $xml, array $idTpe)
{
$idArray = array();
for ($i = count($idArray); $i < $maxIds; $i++) {
foreach($idTpe as $item) {
if ($xml->sub[$i]->type == $item) {
$idArray[] = $i;
}
}
}
return $idArray;
}
$idArray= sortRelevantId($idArray , $maxIds, $xml, array("a","b"));
您可以为此使用array_reduce
,方法是将一个结果的 output 作为输入传递给另一个结果,最后返回该值。
<?php
$idArray = array_reduce(["a", "b"], fn($carry, $item) => sortRelevantId($carry, $maxIds, $xml, $item), []);
print_r($idArray);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.