优化数组函数

Optimize an array function

这里是测试代码的例子。我想知道如何优化这段代码,知道在我的开发代码中,原始数组来自我检索的 API ,然后我根据我的需要和计算在 class 中使用函数方法进行转换(在 $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