Postagens

Juntando duas arrays sem perder os índices.

Algo que estava me irritando há alguns dias atrás era  a questão da junção de duas Arrays em uma única. A função array_merge() do PHP não era satisfatória pois perdia meus queridos indices, presentes nas duas arrays que queria juntar. Tão pouco queria fazer lambanças do tipo usar um foreach() para percorrer as arrays e criar uma nova. Foi então que descobri um método bem prático e simples, que quero passar para vocês. Ele consiste na simples operação de somar duas Arrays. Segue abaixo o exemplo: $equip = array('Computador', 'Impressora', 'Camera'); array (   0 => 'Computador',   1 => 'Impressora',   2 => 'Camera' ) $locais = array('local_1' => 'Escritorio', 'local_2' => 'Banheiro', 'local_3' => 'Sala') array (   'local_1' => 'Escritorio',   'local_2' => 'Banheiro',   'local_3' => 'Sala' ) $equip...

PHP - Detectando encode de string e convertendo com mb_detect_encoding

Uma dica rápida é a utilização de mb_detect_encoding() para a detecção do encode de uma string. <?php $str = 'Este é meu texto' echo mb_detect_encoding($str); Resultado: ASCII Vamos criar uma função para identificar e converter uma string: <?php function converte($string) { switch  (mb_detect_encoding($string))  { case 'ASCII': return $string; break; case 'UTF-8': return utf8_decode($string); break; } } echo converte('Este é meu texto'); Por hoje é só!

PHP - Usando REGEXP ou Expressão Regular para selecionar strings com acentos

REGEXP ou Expressões Regulares já sabemos que são bem complicados, mas esta dica é bem tranquila. Quantas vezes você já não tentou selecionar aquelas palavras ou frases e quando percebeu... tinha um monte de acentos! Como consequência ou a palavra não é selecionada ou só um pedaço dela. Vamos começar com o exemplo abaixo utilizando uma frase de Albert Einstein : <?php  $html = "<blockquote><p>mais fácil é explodir um <strong>átomo</strong> que um preconceito.</p></blockquote><p><em>Albert Einstein</em></p>"; preg_match_all('/<strong>([a-z]*)/',$html,$cotacao); var_dump($cotacao); Teremos como resposta: array(2) {   [0]=>   array(1) {     [0]=>     string(8) "<strong>"   }   [1]=>   array(1) {     [0]=>     string(0) ""   } } Nossa REGEXP não foi muito feliz. Queríamos pegar toda a palavra...

MySQL - Fazendo Update com Subquery

Updates às vezes são bem chatos, principalmente quando devemos atualizar uma determinada tabela baseado em outra. Mas nem tudo está perdido! Podemos utilizar as sempre úteis Subqueries ou Subselects para fazer este tipo de atualização. Vamos definir as nossas tabelas base: Tabela 'site' id nome url tipo acessos 1 Wikipedia Home http://www.wikipedia.org/ home 0 2 Wikipedia NASA http://en.wikipedia.org/wiki/NASA article 0 3 Wikipedia Planetas http://pt.wikipedia.org/wiki/Planeta article 0 Tabela 'tag' id id_site nome 1 2 Agência 2 2 Estados Unidos 3 2 Pesquisa 4 3 Espaço 5 1 Wiki 6 3 Espaço 7 1 Wiki 8 2 Espaço Vamos atualizar na tabela 'site' os campos 'acessos' baseado na tabela 'tag' Primeiro vamos selecionar todas as tags cujo 'nome' seja igual a 'Espaço' SELECT       id_site  FROM       ...

Bitcoin, a moeda anônima da Web.

O Bitcoin foi muito falado de algum tempo para cá e acredito que muitos programadores, que se interessam pelo assunto "criptografia" com certeza se interessaram ou se interessarão por esta nova moeda. Para quem não sabe o Bitcoin é um moeda criada na Internet e que tem como principal característica permitir transações financeiras de maneira anônima. Isto acontece porque o programa que suporta a moeda funciona baseado em criptografia e, além disto, não utiliza um servidor central. Cada usuário da rede Bitcoin funciona como uma espécie de validador. O assunto é muito interessante e vale a pena ser pesquisado. Neste link você pode saber mais detalhes da história por trás do Bitcoin e varias outras curiosidades . Se você pesquisou sobre o assunto ou já usou a moeda deixe seu comentário. Abraço

Instalando o Zend Framework no Windows

Imagem
Existem muitos frameworks no mercado e um dos principais é o Zend Framework . A função de um framework é tornar mais rápido o desenvolvimento de aplicações. Para isto um framework trabalha com orientação a objetos, utilizando classes que podem ser reaproveitadas em várias partes da aplicação. Além disto um framework trabalha com a estrutura chamada VMC que separa o que é visto pelo usuário (View) da lógica da aplicação (Model) e utiliza um mediador entre as duas que pega o que o usuário fez e o envia para a lógica da aplicação (Controler) Vamos assumir que você tem o PHP e o Apache instalados. Aqui vamos seguir o procedimento com o XAMPP instalado C:\xampp\ . Vamos criar uma pasta específica para os projetos com zend, já que podemos utilizar vários frameworks para fazer diferentes aplicações. Nossa pasta base será C:\xampp\htdocs\zend Baixando o Zend Framework O Zend pode ser baixado em http://framework.zend.com/downloads/latest . Dentre as opções baixe a Zend Framewo...

PHP/MySQL - Usando array_keys e implode para criar inserts no MySQL

Vimos em um artigo anterior uma técnica interessante para passar parâmetros para funções, classes ou métodos . Hoje vamos a uma dica rápida utilizando o conceito acima mais as funções array_keys e implode do PHP para criar uma função que monta um insert para o MySQL . O Codeigniter e outros frameworks possuem helpers que usam uma idéia parecida, ou seja, inserimos o nome de uma tabela e pares chave=>valor através de uma array e o helper cria a query e a executa no banco de dados . Poderíamos fazer o procedimento utilizando foreach() , mas eu acho muito deselegante utilizá-lo no contexto em que estamos, além do que é melhor utilizar sempre funções internas do PHP (quando possível) do que fazê-las 'na mão', pois a função compilada é bem mais eficiente do que a interpretada. Neste caso que estamos abordando talvez nem fizesse tanta diferença, pois usamos poucos parâmetros e chamamos três vezes as funções internas, mas serve como uma boa ilustração de uma maneira...