Biblioteca de Funções - Parte 4

Continuação dos artigos sobre funções do PHP.

Por | @jonathanlamimkt Programação
Olá amigos! Estou de volta com a 4ª parte da Biblioteca de Funções, nesse artigo começaremos a falar sobre as funções utilizadas no tratamento de arrays.

Funções utilizadas no tratamento de arrays

Como já disse na Parte 2 desta série de artigos, trabalhar com arrays pode se tornar muito fácil e descomplicado quando se domina e utiliza as funções de manipulação de arrays, tornando o trabalho muito mais rápido e prático.

Array

array array(...);

Essa função cria um array baseado nos parâmetros fornecidos, sendo possível fornecer o índice de cada elemento. O valor do índice pode ser um valor de qualquer tipo, e não um inteiro. Caso o índice não seja fornecido, será atribuído a ele um valor inteiro seqüencial, iniciando-se em 0 (zero) ou do último número inteiro explícito.

Exemplo 1


$frutas = array (
"frutas" => array("a"=>"laranja", "b"=>"banana", "c"=>"maçã"),
"numeros" => array(1, 2, 3, 4, 5, 6),
"buracos" => array("primeiro", 5 => "segundo", "terceiro")
)
?>


Exemplo 2


$array = array(1, 1, 1, 1, 1, 8 => 1, 4 => 1, 19, 3 => 13); 
print_r($array);
?>

Vai mostrar:

Array
(
[0] => 1
[1] => 1
[2] => 1
[3] => 13
[4] => 1
[8] => 1
[9] => 19
)

Exemplo 3:


$trimestre_1 = array(1 => 'January', 'February','March');
print_r($trimestre_1);
?>


Vai mostrar:

Array
(
[1] => Janeiro
[2] => Fevereiro
[3] => Marco
)

Não recomendo o uso de arrays com índices variados, pois pode confundir facilmente que está trabalhando no código. Caso seja necessário, tenha muita atenção no uso.

Range

array range(int minimo, int maximo);

Essa função cria um array onde os elementos são inteiros, pertencentes ao intervalo especificado na função. Caso o primeiro parâmetro seja maior que o segundo o valor retornado será vazio (false).

Exemplo 1:


// array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ,11, 12) 
foreach(range(0, 12) as $numero) {
echo $numero;
}
// Utilização da seqüência de caracteres introduzidos no 4.1.0
// array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i');
foreach(range('a', 'i') as $letra) {
echo $letra;
}
// array('c', 'b', 'a');
foreach(range('c', 'a') as $letra) {
echo $letra;
}
?>

Shuffle

void shuffle(array &arr);

Essa função apenas troca as posições dos elementos do array, não retornando valor algum.

Exemplo 1:


$numeros = range(1,20);
srand((float)microtime()*1000000);
shuffle($numeros);
while (list(, $numeros) = each($numbers)) {
echo "$numeros ";
}
?>



Funções de “navegação”

As variáveis do tipo array têm um ponteiro interno que indica qual o próximo elemento será acessado, no caso de não ser especificado um índice. As funções listadas abaixo modificam esse ponteiro, fazendo com que seja possível percorrer o array para verificar suas chaves e elementos.

Reset

mixed reset(array arr);

Seta o ponteiro para o 1º elemento do array, retornando o conteúdo do elemento.

Exemplo 1:


$array = array('primero elemento', 'segundo elemento', 'terceiro elemento', 'quarto elemento'); 
//o ponteiro está sobre o primeiro elemento
echo current($array)."
n"; // "primeiro elemento"
// pula dois elementos
next($array);
next($array);
echo current($array)."
n"; // "terceiro elemento"
// reinicia o ponteiro, começa novamente o primeiro elemento
reset($array);
echo current($array)."
n"; // "primeiro elemento"
?>


End

mixed end(array arr);

Seta o ponteiro interno para o último elemento do array, retornando o conteúdo desse elemento.

Exemplo 1:


$carros = array('corsa', 'fox', 'parati');
print end($carros); // parati
?>


Next

mixed next(array arr);

Seta o ponteiro para o elemento seguinte do array, retornando o conteúdo desse elemento.

Exemplo 1:


$transportes = array('moto', 'bicicleta', 'carrro', 'avião'); 
$mode = current($transportes); // $mode = 'moto';
$mode = next($transportes); // $mode = 'bicicleta';
$mode = next($transportes); // $mode = 'carrro';
$mode = prev($transportes); // $mode = 'bicicleta';
$mode = end($transportes); // $mode = 'avião';
?>


Não aconselho o uso dessa função para saber se um elemento é o último do array, pois ela pode retornar false tanto no final do array como no caso de haver um elemento vazio.

Prev

mixed prev(array arr);

Seta o ponteiro para o elemento anterior do array, retornando o conteúdo desse elemento. Funciona de maneira inversa a next.

Exemplo 1:


$transportes = array('moto', 'bicicleta', 'carrro', 'avião'); 
$mode = current($transportes); // $mode = 'moto';
$mode = next($transportes); // $mode = 'bicicleta';
$mode = next($transportes); // $mode = 'carrro';
$mode = prev($transportes); // $mode = 'bicicleta';
$mode = end($transportes); // $mode = 'avião';
?>


Pos

mixed pos(array arr);

O valor retornado é o conteúdo do elemento atual do array, indicado pelo ponteiro.

Exemplo 1:


$transportes = array('moto', 'bicicleta', 'carrro', 'avião'); 
$mode = current($transportes); // $mode = 'moto';
$mode = next($transportes); // $mode = 'bicicleta';
$mode = next($transportes); // $mode = 'carrro';
pos ($transportes); // retorna “carro”;
$mode = prev($transportes); // $mode = 'bicicleta';
$mode = end($transportes); // $mode = 'avião';
?>


Key

mixed key(array arr);

O seu funcionamento é parecido com o da função pos, mas ao invés de retornar o elemento atual indicado pelo ponteiro do array, retorna seu índice.

Exemplo 1:


$array = array( 
'fruta1' => 'maçã',
'fruta2' => 'laranja',
'fruta3' => 'uva',
'fruta4' => 'maçã',
'fruta5' => 'maçã');

// este ciclo exibirá toda a chave do array associativo
// onde o valor é igual a "maçã"

while ($fruta_nome = current($array)) {
if ($fruta_nome == 'maçã') {
echo key($array).'
';
}
next($array);
}
?>


Each

array each(array arr);

Retorna um array que contém o índice e o elemento atual indicado pelo ponteiro do array. O valor retornnado é um array de quatro elementos, cujos índices são 0, 1, “key” e “value”. Os elementos de índices 0 e “key” armazenam o índice do valor atual, e os elementos de índices 1 e “value” contém o valor do elemento atual indicado pelo ponteiro.
Esta função pode ser utilizada para percorrer todos os elementos de um array e determinar se já foi encontrado o último elemento, pois no caso de haver um elemento vazio, a função não retornará o valor false. A função each só retorna false depois que o último elemento do array foi encontrado.

Exemplo 1:


$foo = array("pedro", "carlos", "daniel", "samuel", "fábio", "marli"); 
$bar = each($foo);
print_r($bar);
?>


$bar agora contém os seguintes pares de chaves e valores:/

Array
(
[1] => pedro
[value] => pedro
[0] => 0
[key] => 0
)


$foo = array("Roberto" => "Lucas", "José" => "Caio"); 
$bar = each($foo);
print_r($bar);
?>


$bar agora contém os seguintes pares de chaves e valores:?}

Array
(
[1] => Lucas
[value] => Lucas
[0] => Roberto
[key] => Roberto
)}

Gostaram? Então não se esqueçam de comentar o artigo e dar sugestões.

Bons estudos e até o próximo artigo...

Mais sobre:
Share Tweet
Recomendado
Comentários
Carregar comentários
Destaquesver tudo
  • ASSINE NOSSA NEWSLETTER

    As melhores publicações no
    seu e-mail

  • Preencha para confirmar