Criar um array com uma série de números ou letras em PHP

Apesar de andar nestas lides da programação, tento sempre estar ao dia, mas é uma tarefa complicada.

PHP tem muitas funções e por vezes quando estou procurando uma que melhor se adequa ao meu projecto, deparo-me com outras que nem sequer sabia que existiam.

É o caso da da função range() de PHP.

Esta função pode ser bastante útil e tem como função criar um array com uma determinada serie de números ou letras, dependendo dos parâmetros introduzidos.

Quero um array que tenha uma sequência de valores que comece no número 3 e termine no número 10.

Será que posso criar um array com estes requisitos apenas com uma instrução de PHP?

Sim, posso… Com a função range() de PHP.

<?php

  $array = range(3, 10);
 
  echo '<pre>';
  print_r($array);
  echo '';

?>

Resultado:

Array
(
    [0] => 3
    [1] => 4
    [2] => 5
    [3] => 6
    [4] => 7
    [5] => 8
    [6] => 9
    [7] => 10
)

Que fácil, verdade?

Agora quero um array que tenha uma sequência de valores que comece no número 3 e termine no número 10, mas com saltos de 2 unidades.

<?php

  $array = range(3, 10, 2);
 
  echo '<pre>';
  print_r($array);
  echo '';

?>

Resultado:

Array
(
    [0] => 3
    [1] => 5
    [2] => 7
    [3] => 9
)

Parecia algo complicado de fazer, mas de facto esta função simplifica bastante a criação deste tipo de sequências.

Podemos fazer o mesmo com letras?

Tentemos…

<?php

  $array = range('a', 'i');

  echo '<pre>';
  print_r($array);
  echo '';

?>

Resultado:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
    [6] => g
    [7] => h
    [8] => i
)

Agora tentemos mas com saltos de 2 em 2 letras.

<?php

  $array = range('a', 'i', 2);

  echo '<pre>';
  print_r($array);
  echo '';

?>

Resultado:

Array
(
    [0] => a
    [1] => c
    [2] => e
    [3] => g
    [4] => i
)

Como puderam observar esta função de PHP tanto trabalha com números como com letras e de facto é uma dessas funções esquecidas que ajudam bastante a simplificar o nosso código em determinados projectos.

Só um último exemplo… Quero todos os múltiplos de 10 até ao valor 100.

<?php

  $array = range(0, 100, 10);

  echo '<pre>';
  print_r($array);
  echo '';

?>

Resultado:

Array
(
    [0] => 0
    [1] => 10
    [2] => 20
    [3] => 30
    [4] => 40
    [5] => 50
    [6] => 60
    [7] => 70
    [8] => 80
    [9] => 90
    [10] => 100
)

Espero que esta função vos ajude tanto como me ajudou a mim.

Até um próximo artículo.

Mais informação:
http://pt.php.net/manual/en/function.range.php

Comentar