• 31-05-2014, 13:36:37
    #1
    Arkadaşlar veritabanından istediğim verileri alıyorum örneğin aşağıdaki gibi
    Array
    (
        [0] => Array
            (
                [ID] => 4
                [KULLANICIADI] => Selim
            )
    
        [1] => Array
            (
                [ID] => 7
                [KULLANICIADI] => Hakan
            )
    
    )
    Benim oluşturmak istediğim dizi şekli ise aşağıdaki gibi
    Array
    (
    [4] => Selim
    [7] => Hakan
    )
    array_merge, array_push vs. inceledim fakat istediğimi tam olarak elde edemedim. Şimdiden ilgilenenlere teşekkür ederim
  • 31-05-2014, 15:34:59
    #2
    Developer
    if (!function_exists('reindex_array_key'))
    {
        function reindex_array_key($dizi, $key = 'ID')
        {
            if (!is_array($dizi))
            {
                return $dizi;
            }
            
            $sonuc = array();
            foreach($dizi AS $arr)
            {
                $sonuc[$arr[$key]] = $arr;
            }
            return $sonuc;
        }
    }
    
    /* kullanimi */
    
    $array = reindex_array_key($array,'ID');
  • 31-05-2014, 16:34:36
    #3
    Cevabın için teşekkürler ayrıca bi kaç kullanım daha buldum onları da paylaşmak isterim

    PHP 5.5 üstü için

    $newArray = array_combine(
        array_column($oldArray, 'ID'),
        array_column($oldArray, 'KULLANICIADI')
    );
    PHP 5.5 üstü değil ise
    $newArray = array_combine(
        array_map(function($value) { return $value['ID']; }, $oldArray ),
        array_map(function($value) { return $value['KULLANICIADI']; }, $oldArray )
    );