Funções para tratamento de Arrays

October 11th, 2009 sem comentários »

Funções Genéricas

Array

array array(…);

É a função que cria um array a partir dos parâmetros forncidos. É possível fornecer o índice de cada elemento. Esse índice pode ser um valor de qualquer tipo, e não apenas de inteiro. Se o índice não for fornecido o PHP atribui um valor inteiro sequencial, a partir do 0 ou do último índice inteiro explicitado. Vejamos alguns exemplos:

Exemplo 1
$teste = array(”um”, “dois”,”tr”=>”tres”,5=>”quatro”,”cinco”);

Temos o seguinte mapeamento:
0 => “um” (0 é o primeiro índice, se não houver um explicito)
1 => “dois” (o inteiro seguinte)
“tr” => “tres”
5 => “quatro” (valor explicitado)
6 => “cinco” (o inteiro seguinte ao último atribuído, e não o próximo valor, que seria 2)

Exemplo 2
$teste = array(”um”, 6=>”dois”,”tr”=>”tres”,5=>”quatro”,”cinco”);

Temos o seguinte mapeamento:
0 => “um”
6 => “dois”
“tr” => tres
5 => “quatro” (seria 7, se não fosse explicitado)
7 => “cinco” (seria 6, se não estivesse ocupado)

Em geral, não é recomendável utilizar arrays com vários tipos de índices, já que isso pode confundir o programador. No caso de realmente haver a necessidade de utilizar esse recurso, deve-se ter bastante atenção ao manipular os índices do array.

range

array range(int minimo, int maximo);

A função range cria um array cujos elementos são os inteiros pertencentes ao intervalo fornecido, inclusive. Se o valor do primeiro parâmetro for maior do que o do segundo, a função Devolve false (valor vazio).

shuffle

void shuffle(array &arr);

Esta função “embaralha” o array, ou seja, troca as posições dos elementos aleatoriamente e não Devolve valor algum.

sizeof

int sizeof(array arr);

Devolve um valor inteiro contendo o número de elementos de um array. Se for utilizada com uma variável cujo valor não é do tipo array, Devolve 1. Se a variável não estiver setada ou for um array vazio, Devolve 0.

Funções de “navegação”

Toda variável do tipo array possui um ponteiro interno indicando o próximo elemento a ser acedido no caso de não ser especificado um índice. As funções seguintes servem para modificar esse ponteiro, permitindo assim percorrer um array para verificar seu conteúdo (chaves e elementos).

reset

mixed reset(array arr);

O ponteiro interno aponta para o primeiro elemento do array, e devolve o conteúdo desse elemento.

end

mixed end(array arr);

O ponteiro interno aponta para o último elemento do array, e devolve o conteúdo desse elemento.

next

mixed next(array arr);

O ponteiro interno aponta para o próximo elemento do array, e devolve o conteúdo desse elemento.

Obs.: esta não é uma boa função para determinar se um elemento é o último do array, pois pode devolver false tanto no final do array como no caso de haver um elemento vazio.

prev

mixed prev(array arr);

O ponteiro interno aponta para o elemento anterior do array, e devolve o conteúdo desse elemento. Funciona de maneira inversa a next.

pos

mixed pos(array arr);

Devolve o conteúdo do elemento actual do array, indicado pelo ponteiro interno.

key

mixed key(array arr);

Funciona de maneira bastante semelhante a pos, mas em vez de devolver o elemento actual indicado pelo ponteiro interno do array, devolve o seu índice.

each

array each(array arr);

Devolve um array contendo o índice e o elemento actual indicado pelo ponteiro interno do array. o valor da devolução é 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 devolverá o valor false. A função each só devolve false depois q o último elemento do array foi encontrado.

Exemplo:

função que percorre todos os elementos de um array e imprime seus índices e valores

function imprime_array($arr) {
reset($arr);
while (list($chave,$valor) = each($arr))
echo “Chave: $chave. Valor: $valor”;
}

Funções de ordenação

São funções que servem para ordenar os elementos de um array de acordo com determinados critérios. Estes critérios são: manutenção ou não da associação entre índices e elementos; ordenação por elementos ou por índices; função de comparação entre dois elementos.

sort

void sort(array &arr);

A função mais simples de ordenação de arrays. Ordena os elementos de um array em ordem crescente, sem manter os relacionamentos com os índices.

rsort

void rsort(array &arr);

Funciona de maneira inversa à função sort. Ordena os elementos de um array em ordem decrescente, sem os manter os relacionamentos com os índices.

asort

void asort(array &arr);

Tem o funcionamento bastante semelhante à função sort. Ordena os elementos de um array em ordem crescente, porém mantém os relacionamentos com os índices.

arsort

void arsort(array &arr);

Funciona de maneira inversa à função asort. Ordena os elementos de um array em ordem decrescente e mantém os relacionamentos dos elementos com os índices.

ksort

void ksort(array &arr);

Função de ordenação baseada nos índices. Ordena os elementos de um array de acordo com seus índices, em ordem crescente, mantendo os relacionamentos.

usort

void usort(array &arr, function compara);

Esta é uma função que utiliza outra função como parâmetro. Ordena os elementos de um array sem manter os relacionamentos com os índices, e utiliza para efeito de comparação uma função definida pelo utilizador, que deve comparar dois elementos do array e devolver 0, 1 ou -1, de acordo com qualquer critério estabelecido pelo utilizador.

uasort

void uasort(array &arr, function compara);

Esta função também utiliza outra função como parâmetro. Ordena os elementos de um array e mantém os relacionamentos com os índices, utilizando para efeito de comparação uma função definida pelo utilizador, que deve comparar dois elementos do array e devolver 0, 1 ou -1, de acordo com qualquer critério estabelecido pelo utilizador.

uksort

void uksort(array &arr, function compara);

Esta função ordena o array através dos índices, mantendo os relacionamentos com os elementos., e utiliza para efeito de comparação uma função definida pelo utilizador, que deve comparar dois índices do array e devolver 0, 1 ou -1, de acordo com qualquer critério estabelecido pelo utilizador.

FONTE: http://www.truquesedicas.com/tutoriais/php/apendices/00002a.htm

Bookmark and Share

Ano Estrelar 3259 – FEDERAÇÃO DOS CRIMES DE GUERRA – O PIOR ESTÁ POR VIR

October 9th, 2009 sem comentários »

galactic_warsGalactic Wars é um jogo de estratégia em tempo real dividido em turnos de 1 hora.

O jogo se passa no nosso universo aproximadamente no ano 2560. A humanidade finalmente descobriu a existência de vida extra-terrestre inteligente e desenvolveu sistemas para viagens espaciais a todas as galáxias.

Cada jogador controla um planeta, divididos em galaxias e as galaxias são divididas em setores, existem 5 raças disponíveis, cada qual com seus atributos especiais. Você também pode escolher um dos 4 estilos de governo que irá utilizar no seu planeta.

Galactic Wars é gratuito, o jogo ainda permite que os usuarios tornen-se associados para liberar algumas funcionalidades extras.

COMECE A JOGAR AGORA MESMO!

Prezado Líder,

Após recebermos da nossa agência de inteligência um relatório com um estudo minucioso sobre o que vem acontecendo no universo concluímos que a realidade é bem mais complexa e ameaçadora do que os rumores anunciavam. Pudemos observar uma movimentação muito grande de naves viajando pelo universo em busca de planetas menos desenvolvidos e o posicionamento que temos de seus Comandantes é de que seria “manobra militar”. Aparentemente o discurso é o mesmo para todos os questionados.

Procuramos pesquisar junto aos planetas Federados qual seria o verdadeiro motivo pelo qual os blocos de alianças teriam se fortalecido e qual a intenção dos planetas de alianças de outros universos estarem se aproximando dos nossos radares.

Alianças mais preparadas estão atacando outras em desenvolvimento com o intuito de frear o crescimento destas que por sua vez ameaçam assinar tratados com outras aliadas para se fortalecer e contra-atacar. Nós, da Federação dos Crimes de Guerra, pedimos que você prepare suas naves e prepare seu povo para uma nova guerra que está por vir. Que a sorte esteja conosco!

Saudações,
Comandante Geral da Federação dos Crimes de Guerra

Bookmark and Share

Como adicionar sombra utilizando CSS

October 7th, 2009 sem comentários »

Você sempre quis saber como colocar uma sombra numa imagem, utilizando apenas CSS? Saiba através do Dinamic Drive, que já foi inclusive indicado aqui no Avante,

Na realidade você pode colocar sombras não só em imagens mas em caixinhas também. Para saber como fazer essa proeza, basta clicar aqui.

Para o alto e Avante!

FONTE: http://www.brunoavila.com.br/avante/css/como-adicionar-sombra-utilizando-css.html

Bookmark and Share

O nome das cores HTML

October 4th, 2009 sem comentários »

Você sabia que as cores html possui nomes? É sim, cada cor hexadecimal tem seu nome e que funciona em qualquer navegador. Por exemplo, ao invés de você colocar color: #00FA9A coloque color: MediumSpringGreen que vai dar no mesmo. Para você saber todos os nomes e decorá-los assim como você decorou toda a tabuada, clique aqui e veja toda a lista.

PORÉM, se você quiser que seu site seja validado pelo W3C, seguindo os padrões, saiba que apenas as cores a seguir são validadas utilizando seus nomes: aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white, e yellow.

Para o alto e Avante!

Bookmark and Share

Bordas Arredondadas com CSS

October 4th, 2009 sem comentários »

bordasarredondadascomcss

Quer fazer aquelas bordinhas arredondadas, dando uma diferenciada naquela caixinha de destaque, utilizando CSS? Então conheça essa solução bem simples, o Spiffy Corners, que dá o CSS prontinho pra você fazer suas bordas arredondadas.

Clique aqui para testar.

Bookmark and Share

CSS3: Conheça os novos efeitos do CSS

October 4th, 2009 sem comentários »

Você já imaginou colocar efeito de fade nas cores do link? Colocar mútiplas imagens de background? Criar cantos arredondados sem necessidade de bg, só no CSS? Pois isso tudo já existe, na nova versão do CSS 3.

No vídeo abaixo você poderá ver na prática algumas novidades do CSS que só não está popularizado ainda pois nem todos os navegadores suportam essa nova versão. Mas isso é questão de tempo. Então dê uma olhadinha no vídeo para ver o que lhe espera. O vídeo é em inglês mas se você não sabe inglês não tem problema, o que importa é ver o amigo do vídeo programando e botando o bicho pra rodar. Só no visual você irá captar a mensagem.

Nesse site você irá encontrar informações e exemplos de outros efeitos do novo CSS. Divirta-se!

Bookmark and Share

Como achar o IMEI do celular?

October 4th, 2009 sem comentários »

CelularNormalmente para o desbloqueio do celular ou para alguma outra programação do celular é necessário achar o IMEI do celular, ele pode vir na caixa do aparelho, perto da onde esta o número da serie ou você pode encontrar tirando a bateria do celular, tambem perto da onde esta o número da serie, mas se você não achar a caixa do celular ou não sabe como tirar a bateria ou deseja algo mais rápido e fácil, então digite o seguinte código no celular, ou seja, como se você vai ligar para alguém:

*#06#

É só aguardar, o IMEI aparecerá, é um número de vários dígitos.
Isto normalmente funciona em todos os celulares, caso contrario informe qual é o modelo e marca do seu celular para poder ajudá-lo.

FONTE: http://www.curioso.biz/home/2009/03/03/como-achar-o-imei-do-celular/

Bookmark and Share

Não aparecem anúncios do AdSense?

October 4th, 2009 1 comment »

Após ter criado meu segundo blog, comecei a colocar os anúncios do AdSense, mas eles não apareciam, só mostrava um espaço em branco onde deveria aparecer o anuncio e tinha a palavra “advertisement” na parte inferior deste espaço, o pior era que isto só acontecia na minha maquina e em outras maquinas sim apareciam os anúncios. Fiquei pesquisando e sofrendo durante 15 dias, nem no próprio site do AdSense achei a solução, até eles informam de como ativar o JavaScrip no navegador e algumas coisas de políticas, mas não ajudou.

Importante: Você só pode colocar 3 anúncios do AdSense por página se colocar mais ele mostrará só três ou então não mostrará.

O problema foi resolvido editando o arquivo Hosts. Este arquivo, desconhecido se encontra na pasta do Windows, caminho:

C:\Windows\system32\drivers\etc

Ou seja, o Windows está bloqueando todo o conteúdo dinâmico que vem do Google (sobretudo os anúncios do Adsense). Diversos sistemas antispyware, antivirus, bloqueadores de anúncios e outros programas, escrevem suas instruções nesse arquivo, orientando o navegador sobre o que abrir, o que exibir e o que não. Muitas vezes o Nod32 e o Kaspersky costumam gravar instruções especificas para o navegador não exibir anúncios AdSense.

Tutorial para limpar o arquivo e exibir os anúncios do Adsense

Passo 1: Entre no disco C: , logo entre na pasta Windows e entre na seguinte pasta system32; encontre a pasta drivers e dentro dela esta a pasta etc. O caminho fica assim: C:\WINDOWS\system32\drivers\etc

arquivo-hosts

Passo 2: Dentro do diretório ‘etc’ procure o arquivo hosts. Clique com o botão direito e selecione Abrir com o Bloco de Notas. Com o Bloco de Notas encontre a expressão Google Inc (você pode clicar em Editar/Localizar ou simplesmente CTRL+F. Digite Google Inc na caixa de busca, e clique em Localizar).

Passo 3: Selecione e apague tudo que estiver após a expressão ‘Google Inc’.

arquivo-hosts-aberto

Isto já é suficiente para os anúncios aparecerem como por arte de mágica, então Salve e feche o arquivo.

O seguinte passo não é necessário, mas fica como sugestão:
Se você quer limpar todas as instruções adicionadas por algum programa, fora o AdSense, continue fazendo o seguinte, apague tudo que aparecer sem o “#” na frente. Busque por linhas com a palavra “Google” e “Syndication“. Apague todas. Por ultimo, salve e feche o arquivo.

Após estes procedimentos sua página que contenha anúncios do Google e se você seguiu corretamente os passos do tutorial, seu navegador vai exibir os anúncios do AdSense.

Boa sorte!

FONTE: http://www.curioso.biz/home/2009/05/02/nao-aparecem-anuncios-do-adsense/

Bookmark and Share

Acontece com todo mundo…

October 2nd, 2009 1 comment »

Wrong Hole (Buraco errado)

- E ai campeão!
- Por que essa cara triste?

- Não sei não, Scott Baio, eu…
- Eu realmente ferrei tudo ontem à noite…

- Vamos lá…fale comigo.
- Diga-me o que aconteceu.

- Tudo bem…
- Vou tentar…

Eu a chamei para um encontro, tudo parecia tão radiante
Eu sabia que não iria precisar do meu “You Porn” à noite
Nós fomos à casa dela e começamos a brincar
Nós jogamos nossas roupas…
…no chão…

Nós começamos assim que ela apagou as luzes
Eu comecei, mas senti que algo estava muito apertado
Eu ouvi seu choro, eu vi sua careta
Eu olhei a camisinha e ela estava toda marrom!

Ontem à noite
Eu meti no buraco errado
Eu sinto muito do fundo da minha alma
Porque eu meti no buraco errado

Tente um Hemovirtus, você pode se sentir melhor
Em minha defesa, aqueles buracos ficam tão juntos
Oh baby baby não se sinta violada
É um acidente comum durante o “doggy style”
Estava tão escuro, eu não podia ver bem
Eu não fazia idéia de onde estava colocando a madeira
Eu gostaria de melhorar, de corrigir as coisas

Se você quiser, pode vestir um strap-on e me dar o troco a noite inteira…

- Eu preferia que ela não fizesse

Ontem à noite
Eu meti no buraco errado
Eu sinto muito do fundo da minha alma
Porque eu meti no buraco errado

Eu nunca quis que você se machucasse
Acho que por isso Deus fez esse buraco só pra saída
Me diz como você se sente, baby, por favor não pare
Agora eu sei como eles se sentem naquela séria da HBO, OZ
Você poderia tomar um Advil, vai curar sua dor
Do jeito que você tá andando, pode competir nas Paraolimpíadas
Se aqui fosse o Alabama nós iríamos a julgamento
Minha mãe tirava minha temperatura assim, quando eu era criança

Eu tenho uma confissão, e acho que você não vai se importar…
Eu meio que gostei quando você colocou por trás
Sei lá baby, eu não sou um sodomita
A gente não podia tentar mais uma vez hoje à noite?

- Beleza!

Toda noite
Eu meto no buraco errado
É tão divertido
E não precisamos de nenhum anticoncepcional
Quando nós metemos no buraco errado.

Eu envio na sua bundinha…

Bookmark and Share

98 Estilos de Tabela em CSS

October 2nd, 2009 sem comentários »

98estilosdetabelaemcss

Tenho certeza que esse vai para o seu favoritos. Se você procura fazer uma tabela bonitinha em sua página ( tablelessmaníacos, estou falando de tabela mesmo hein ;) ) agora isso não será mais problema.

Apresento a vocês 98 estilos diferentes de construção de tabelas, de diferentes cores e tipos. Basta clicar, visualizar e pegar o código. Simples, não?

Para visualizar os 98 estilos, clique aqui.

Para o alto e Avante!

FONTE: http://www.brunoavila.com.br/avante/css/98-estilos-de-tabela-em-css.html

Bookmark and Share