下面是一个测试代码示例。我想知道如何优化这个代码,因为我知道在我的开发代码中,原始数组来自我检索的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