陣列鍵值統一增加字首

大怪發表於2019-02-16

比如在查詢資料庫where條件連表查詢的時候

$where = [
    `id` => 1
]

加字首

$where = [
    `u.id` => 1
]

簡單粗暴

if ( ! function_exists(`set_array_prefix`)) {
    /**
     * 設定陣列鍵值字首
     * @param array $array
     * @param string $prefix
     * @return array
     */
    function set_array_prefix($array = [],$prefix = ``)
    {
        $new_arr = [];
        foreach ($array as $key => $value) {
            $new_arr[$prefix . $key] = $value;
        }
        return $new_arr;
    }
}

閉包

if ( ! function_exists(`set_array_prefix`)) {
    /**
     * 設定陣列鍵值字首
     * @param array $array
     * @param string $prefix
     * @return array
     */
    function set_array_prefix($array = [],$prefix = ``)
    {
        $new_arr = [];
        array_walk($array, function ($value, $key) use (&$new_arr,$prefix) {
            $new_arr[$prefix . $key] = $value;
        });
        return $new_arr;
    }
}

相關文章