Convert PHP code into Ruby!
RSS icon Email icon Home icon
  • array_change_key_case

    Posted on March 28th, 2009 RubyLove No comments

    This function changes all keys in an array by returning an array with all keys from argument lowercased or uppercased. Numbered indices are left as is.

    PHP

    $input_array = array('FirSt' => 1, 'SecOnd' => 4);
    print_r( array_change_key_case($input_array, CASE_UPPER) );
    // => array('FIRST' => 1, 'SECOND' => 4);

    To replicate this functionality in Ruby, we need to use a Hash object, since arrays in Ruby don’t use associative key/value pairs.

    Ruby

    hash = {'FirSt' => 1, 'SecOnd' => 4}
     
    result = hash.inject({}) do |hash, keys|
      hash[keys[0].upcase] = keys[1]
      hash
    end
    p result
    # => { 'FIRST' => 1, 'SECOND' => 4 }

    Leave a reply