优化数组函数



下面是一个测试代码示例。我想知道如何优化这个代码,因为我知道在我的开发代码中,原始数组来自我检索的API,然后我根据我的需求和计算在一个带有函数方法的类中进行转换(在$rep中有很多带有三元运算符的转换(。这里的例子是为了简单起见:

当你调用函数testArray()几百次时,计算时间开始变得很长,太长了。我想知道是否有一种方法可以优化这一点,并使代码更加优雅。

$data = array(
"lemon" => 'test1',
"tomato" => 'test2',
"cofee" => 'test3',
"tree" => 'test4'
);


function testArray($data)
{

$rep = array(
'yellow' => $data['lemon'],
'red' => $data['tomato'],
'brown' => $data['cofee'],
'green' => $data['tree']
);
return $rep;
}

echo testArray($data)['yellow'];    // test1
echo testArray($data)['red'];       // test2
echo testArray($data)['brown'];     // test3
echo testArray($data)['green'];     // test4

谢谢你,我有点想不出更有效的方法了。

您不需要多次调用函数。只需将其存储到一个变量中,然后再使用即可。

$data = array(
"lemon" => 'test1',
"tomato" => 'test2',
"cofee" => 'test3',
"tree" => 'test4'
);


function testArray($data)
{

$rep = array(
'yellow' => $data['lemon'],
'red' => $data['tomato'],
'brown' => $data['cofee'],
'green' => $data['tree']
);
return $rep;
}

$transformedData = testArray($data);
echo transformedData['yellow'];    // test1
echo transformedData['red'];       // test2
echo transformedData['brown'];     // test3
echo transformedData['green'];     // test4

最新更新