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

    Posted on November 11th, 2010 RubyLove 1 comment

    The array_fill_keys() function in PHP allows you to populate the values of an array while specifying its keys.

    PHP

    $keys = array('write', 'debug', 'execute');
    $result = array_fill_keys($keys, 'code');
    var_export($result);
    // => array('write' => 'code', 'debug' => 'code', 'execute' => 'code')

    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

    keys = ['write', 'debug', 'execute']
    result = keys.inject({}) do |hash, key| 
      hash[key] = 'code'
      hash 
    end
    p result
    # => {"write"=>"code", "debug"=>"code", "execute"=>"code"}
  • array_fill

    Posted on October 13th, 2010 RubyLove 1 comment

    The array_fill() function in PHP allows an array to be populated (i.e. filled) with a particular value.

    PHP

    $a = array_fill(3, 5, 'php');
    print_r($a);
    /*
    Array (
    	[3] => php
    	[4] => php
    	[5] => php
    	[6] => php
    	[7] => php
    )
    */

    In Ruby this is not really possible because Ruby arrays must have their keys filled in the correct order, i.e. you cant skip assigning values to keys in a Ruby array. As such, the next best thing is to fill those values with nil, or use a hash instead.

    Ruby

    a = [nil] * 3 + ['php'] * 5;
    puts a;
    # => [nil, nil, nil, 'php', 'php', 'php', 'php', 'php']
  • array_flip

    Posted on April 19th, 2010 RubyLove 3 comments

    The array_flip() PHP function changes all the keys in an array into values, and all the values into keys.

    PHP

    $a = array('apple' => 1, 'ibm' => 2, 'sun' => 3);
    $flipped = array_flip($a);
    print_r($flipped);
    /*
    Array (
    	[1] => apple
    	[2] => ibm
    	[3] => sun
    )
    */

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

    Ruby

    hash = { "apple" => 1, "ibm" => 2, "sun" => 3 };
    flipped = hash.invert;
    p flipped;
    # => {1 => "apple", 2 => "ibm", 3 => "sun"}

    In PHP, the array_flip() function will over write any conflicting keys. The Ruby invert() method behaves the same - any keys which are the same as other keys will overwrite the previous one.

  • array_keys

    Posted on February 24th, 2010 RubyLove No comments

    The array_keys() function in PHP takes an array as it’s argument and returns all the keys in that array (as a numeric array).

    PHP

    $array = array('go' => 'green', 'stop' => 'red');
    var_dump( array_keys($array) );
    /*
    Array (
    	[0] => go
    	[1] => stop
    )
    */

    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

    array = { :go => 'green', :stop => 'red' };
    puts array.keys;
    # => [:go, :stop]
  • array_rand

    Posted on February 16th, 2010 RubyLove 1 comment

    The array_rand() function in PHP randomly selects one or more elements from an array.

    PHP

    $users = array('john', 'jane', 'tim', 'alex');
    $lucky_winner = array_rand($users);
    echo $lucky_winner;
    // alex

    Ruby

    users = [ 'john', 'jane', 'tim', 'alex' ];
    lucky_winner = users[rand(users.length)];
    puts lucky_winner;
    # => alex
  • array_reverse

    Posted on October 25th, 2009 RubyLove No comments

    The array_reverse() function in PHP reverses the order of the elements in an array.

    PHP

    $a = array('php', 'ruby', 'java');
    $results = array_reverse($a);
    print_r($results);
    /*
    Array (
    	[0] => 'java'
    	[1] => 'ruby'
    	[2] => 'php'
    )
    */

    To replicate this functionality in Ruby, we can use the reverse method of the Array object.

    Ruby

    a = [ "php", "ruby", "java" ];
    p a.reverse;
    # => ["java", "ruby", "php"]
  • array_count_values

    Posted on October 21st, 2009 RubyLove No comments

    The array_count_values() function in PHP counts the number of instances of each value in an array. array_count_values() returns an associative array using the values of the input array as keys and their frequency in the input as values.

    PHP

    $a = array('a', 'b','a', 'c', 'c');
    $results = array_count_values($a);
    print_r($results);
    /*
    Array (
    	[a] => 2
    	[b] => 1
    	[c] => 2
    )
    */

    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

    a = [ "a", "b", "a", "c", "c" ];
    result = list.inject({}) do |hash, key|
      hash.include?(key) ? hash[key] += 1 : hash[key] = 1;
      hash
    end
     
    p result;
    # => ["a" => 2, "b" => 1, "c" => 2]
  • array_chunk

    Posted on October 17th, 2009 RubyLove 2 comments

    The array_chunk() function in PHP splits an array into multiple smaller arrays (array chunks).

    PHP

    $langs = array('php', 'ruby', 'java', 'perl', 'csharp');
    $my_size = 2;
    var_dump( array_chunk($langs, $my_size) );
     
    /*
    Array (
        [0] => Array
            (
                [0] => php
                [1] => ruby
            )
     
        [1] => Array
            (
                [0] => java
                [1] => perl
            )
     
        [2] => Array
            (
                [0] => csharp
            )
     
    ) )
    */

    Ruby

    def array_chunk(full_array, size)
            number_of_chunks = (full_array.length/size.to_f).ceil;
            chunks = (1..number_of_chunks).collect { [] }
                while full_array.any?
                  chunks.each do |a_chunk|
                    a_chunk << full_array.shift if full_array.any?
                  end
                end
            chunks
    end
     
    langs = ["php", "ruby", "java", "perl", "csharp"]
    my_size = 2
    p array_chunk(langs, my_size)
     
    # => [["php", "perl"], ["ruby", "csharp"], ["java"]]
  • array_shift

    Posted on October 14th, 2009 RubyLove No comments

    The array_shift() function in PHP removes an element from the beginning of an array and returns it.

    PHP

    $my_array = array('a', 'b', 'c', 'd');
    $my_element = array_shift($my_array);
    print_r($my_element);
    /*
    Array (
    	[0] => a
    )
    */

    Ruby

    my_array = [ "a", "b", "c", "d" ];
    puts my_array.shift;
    # => ["a"]
  • array_unique

    Posted on October 10th, 2009 RubyLove No comments

    The array_unique() function in PHP takes an array and filters our any duplicates values, returning the array with only unique values present.

    PHP

    $elements = array('php', 'ruby', 'perl', 'php');
    array_unique($elements);
    print_r($elements);
    /*
    Array (
    	[0] => php
    	[1] => ruby
    	[2] => perl
    )
    */

    Ruby

    elements = [ "php", "ruby", "perl", "php" ];
    puts elements.uniq;
    # => ["php", "ruby", "perl"]