Caso você necessite embaralhar os elementos de um array, não é preciso pensar em um algoritmo que faça isso automaticamente. Você pode fazer uso da função shuffle, da seguinte forma:
<?php
$elementos = array('Banana', 'Maça', 'Pêra', 'Abacate', 'Limão', 'Laranja', 'Abacaxi', 'Morango');
shuffle($elementos);
print_r($elementos);
?>
Exibindo a impressão deste código, obtive o seguinte retorno:
Array ( [0] => Pêra [1] => Banana [2] => Maça [3] => Morango [4] => Abacate [5] => Abacaxi [6] => Laranja [7] => Limão )
Executando novamente o código, obtive o retorno:
Array ( [0] => Morango [1] => Limão [2] => Abacate [3] => Laranja [4] => Banana [5] => Pêra [6] => Maça [7] => Abacaxi )
Como é possível notar, a função shuffle realmente embaralha aleatoriamente os elementos.
Outras dicas de PHP
Apagando variáveis de sessão
array_reverse - Invertendo um vetor
array_search - Procurando um item em um array
Capturando a extensão de um arquivo
Capturando dados de um checkbox
Casts - Convertendo tipos de dados
ceil - Arredondando números reais para cima
checkdate - Validando datas no código PHP
Como desabilitar checkbox
Como desabilitar um radiobutton
Como permitir somente o upload de imagens
Como remover espaços em branco de uma string
Como validar o upload de um arquivo via POST
Convertendo caracteres com acento para maiúsculo com mb_strtoupper
Corrigindo a formatação da página para exibir acentos
Corrigindo o erro 'invalid byte sequence for encoding' ao acessar o Postgres
Criando e lendo um cookie em PHP
Criando variáveis de sessão
Date - Exibindo horário em formato hh:mm:ss
define - Criando constantes
Desabilitando as mensagens de Deprecated Functions
empty - Verificando se variável está vazia
Entendendo as diferenças entre os comandos include e require
Entendendo as diferenças entre os comandos include_once e require_once
Exibindo uma imagem após o post
floor - Arredondando números reais para baixo
gettype - Obtendo o tipo de dado de uma variável
Impedindo SQL Injection
Imprimindo Arrays
join - Convertendo um array em string
max - Encontrando o maior elemento de um vetor
min - Encontrando o menor elemento de um vetor
mt_rand - Gerando números randômicos
number_format - Formatando números
Operador ternário
Passando caracteres especiais por GET
Passando dados por QueryString
Permitindo o upload somente de arquivos PDF e do Word
Redirecionando para outras páginas
Removendo acentos em PHP
Removendo cookies em PHP
Retornando para a página anterior
Round - Arredondando números float
Rsort - Ordenando os itens de um vetor em ordem alfabética decrescente
session_write_close - gravando dados e fechando a sessão
shuffle - Embaralhando elementos de um array
Sizeof - Contando os elementos de um vetor
Sort - Ordenando os itens de um vetor
strtolower - Deixando todos os caracteres em minúsculo
strtoupper - Deixando todos os caracteres em maiúsculo
str_replace - Substituindo caracteres em uma string
Trabalhando com datas em PHP
ucfirst - Deixando o primeiro caractere sempre maiúsculo
ucwords - Deixando o primeiro caractere de cada palavra maiúsculo
unset - Excluindo variáveis
unset - Removendo elementos de um array
var_dump - Analisando as variáveis
Você Sabia?
Muitos aplicativos
Instalar vários aplicativos com o mesmo propósito, como editores de texto, reprodutores de músicas ou vídeos e até programas antívirus sobrecarregam o seu sistema operacional e ainda ocupam espaço desnecessário em seu HD. Tenha apenas um bom programa para cada função.
Computadores de 1,5 tonelada
Em 1949 a revista Popular Mechanics fez uma previsão para o futuro, dizendo: "Um dia os computadores pesarão menos do que 1,5 tonelada". E pensar que temos smartphones capazes de realizar milhões de vezes mais operações do que os computadores daquela época.
Space Invaders
A partida mais longa do clássico Space Invaders durou incríveis 38 horas e 32 minutos e esta façanha foi conseguida por um jogador de apenas 12 anos! O jogo, claro, podia ser pausado para alimentação e descanso, mas ainda assim o recorde, estabelecido no dia 02/09/1980, ainda não foi quebrado. Saiba mais.
Senhas
Digitar senhas em computadores de uso coletivo é extremamente perigoso, pois além de softwares de monitoramento, existem dispositivos de hardware que podem capturar suas senhas. Evite ao máximo acessar sites de bancos a partir destes computadores. Veja mais aqui.
Mario e seu bigode
O personagem Mario só possui bigode porque quando ele foi criado, em 1981, a resolução de tela dos equipamentos disponíveis não permitia que fosse desenhada uma boca, então os desenvolvedores fizeram o grande bigode para contornar essa limitação tecnológica.