PHP's array_map including keys

前端 未结 18 2769
抹茶落季
抹茶落季 2020-11-30 19:31

Is there a way of doing something like this:

$test_array = array(\"first_key\" => \"first_value\", 
                    \"second_key\" => \"second_valu         


        
18条回答
  •  盖世英雄少女心
    2020-11-30 20:15

    I always like the javascript variant of array map. The most simple version of it would be:

    /**
     * @param  array    $array
     * @param  callable $callback
     * @return array
     */
    function arrayMap(array $array, callable $callback)
    {
        $newArray = [];
    
        foreach( $array as $key => $value )
        {
            $newArray[] = call_user_func($callback, $value, $key, $array);
        }
    
        return $newArray;
    }
    

    So now you can just pass it a callback function how to construct the values.

    $testArray = [
        "first_key" => "first_value", 
        "second_key" => "second_value"
    ];
    
    var_dump(
        arrayMap($testArray, function($value, $key) {
            return $key . ' loves ' . $value;
        });
    );
    

提交回复
热议问题