Você está aqui: PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como retornar apenas as chaves dos elementos em um array associativoQuantidade de visualizações: 9447 vezes |
<? /* Muitas vezes em um array associativo, precisamos obter apenas as chaves dos elementos e descartar os seus valores. Isso pode ser feito com a função array_keys. O resultado será um array com índices numéricos começando em 0. */ $cidades = array('Goiás' => 'Goiânia', 'Mato Grosso' => 'Cuiabá', 'Ceará' => 'Fortaleza'); // obtém apenas os estados $estados = array_keys($cidades); for($i = 0; $i < count($estados); $i++){ echo $estados[$i] . "<br>"; } ?> |
![]() |
PHP ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de PHP - Escreva um programa PHP para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no arrayQuantidade de visualizações: 1494 vezes |
Pergunta/Tarefa: Dado o seguinte vetor de inteiros: // vamos declarar e construir um vetor de 8 inteiros $valores = array(0, 3, 0, 5, 7, 4, 0, 9); Sua saída deverá ser parecida com: Vetor na ordem original: 0 3 0 5 7 4 0 9 Vetor com os zeros deslocados para o final: 3 5 7 4 9 0 0 0 Veja a resolução comentada deste exercício usando PHP: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <?php // Este código PHP pode ser executado tanto na linha // de comando quanto pelo servidor web // vamos declarar e construir um vetor de 8 inteiros $valores = array(0, 3, 0, 5, 7, 4, 0, 9); // vamos mostrar o vetor na ordem original echo("Vetor na ordem original:\n"); for($i = 0; $i < count($valores); $i++){ echo $valores[$i] . " "; } // vamos inicializar j como 0 para que ele aponte para // o primeiro elemento do vetor $j = 0; // agora o laço for percorre todos os elementos do vetor, // incrementanto a variável i e deixando o j em 0 for($i = 0; $i < count($valores); $i++){ // encontramos um valor que não é 0 if($valores[$i] != 0){ // fazemos a troca entre os elementos nos índices // i e j $temp = $valores[$i]; $valores[$i] = $valores[$j]; $valores[$j] = $temp; // e avançamos o j para o elemento seguinte $j++; } } // agora mostramos o resultado echo "\n\nVetor com os zeros deslocados para o final:\n"; for($i = 0; $i < count($valores); $i++){ echo $valores[$i] . " "; } ?> Não se esqueça: A resolução do exercício deve ser feita sem a criação de um vetor, array ou lista adicional, e os elementos diferentes de zero devem permanecer na mesma ordem que eles estavam antes. |
PHP ::: Dicas & Truques ::: Variáveis e Constantes |
Como usar a função isset() do PHP para verificar se uma variável existe (foi definida)Quantidade de visualizações: 58068 vezes |
Em algumas situações gostaríamos de verificar se uma variável PHP foi definida, ou seja, seu valor está disponível para uso. Isso é importante para evitar efetuar algum cálculo envolvendo variáveis não existentes (que ainda não foram declaradas). Isso pode ser feito com o auxílio da função isset(). Ela retorna um valor true se a variável testada existir e não estiver com o valor NULL. Caso contrário o retorno será falso. Veja o exemplo a seguir: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <? /* Este trecho de código mostra como como verificar se uma determinada variável foi definida. Esta técnica é muito usada para verificar variáveis fornecidas via GET ou POST. Veja que a função isset apenas verifica se a variável foi definida, ela não verifica se a variável contém algum valor (no caso de GET ou POST) */ if(isset($_GET['cliente'])) echo "A variável cliente foi definida"; $nome = "Osmar J. Silva"; if(isset($nome)) echo 'A variável $nome foi definida'; ?> Lembre-se de que está função não verifica se a variável contém algum valor, apenas se ela existe e não sofreu atribuição do valor NULL (null em PHP). |
PHP ::: Dicas & Truques ::: Data e Hora |
PHP para iniciantes - Como obter o número de dias em um mês e ano usando a função cal_days_in_month() do PHPQuantidade de visualizações: 70 vezes |
Em algumas situações nós precisamos saber quantos dias um determinado mês possui, talvez para exibir um calendário. Para isso nós podemos usar a função cal_days_in_month() da linguagem PHP. Esta função pede um tipo de calendário (geralmente CAL_GREGORIAN), um número indicando o mês (1 para janeiro, 2 para fevereiro, etc) e o ano). Veja o código completo para obter a quantidade de dias para o mês de fevereiro de 2021: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <?php $ano = 2021; $mes = 2; // fevereiro $quant_dias = cal_days_in_month(CAL_GREGORIAN, $mes, $ano); echo "Há $quant_dias dias no mês e ano informados"; ?> Ao executarmos este código nós teremos o seguinte resultado: Há 28 dias no mês e ano informados |
PHP ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular a equação reduzida da reta em PHP dados dois pontos pertencentes à retaQuantidade de visualizações: 901 vezes |
Nesta dica de PHP veremos como calcular a equação reduzida da reta quando temos dois pontos pertencentes à esta reta. Não, nessa dica não vamos calcular a equação geral da reta, apenas a equação reduzida. Em outras dicas do site você encontra como como isso pode ser feito. Para relembrar: a equação reduzida da reta é y = mx + n, em que x e y são, respectivamente, a variável independente e a variável dependente; m é o coeficiente angular, e n é o coeficiente linear. Além disso, m e n são números reais. Com a equação reduzida da reta, é possível calcular quais são os pontos que pertencem a essa reta e quais não pertencem. Vamos começar então analisando a seguinte figura, na qual temos dois pontos que pertencem à uma reta: ![]() Note que a reta da figura passa pelos pontos A(5, 5) e B(9, 2). Então, uma vez que já temos os dois pontos, já podemos calcular a equação reduzida da reta. Veja o código PHP completo para esta tarefa: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <?php // para executar abra uma janela de comando // cmd e dispare o comando abaixo: // C:\xampp\php>php c:\estudos_php\estudos.php // para ler a entrada do usuário $entrada = fopen("php://stdin","r"); // vamos ler as coordenadas do primeiro ponto echo "Coordenada x do primeiro ponto: "; $x1 = fgets($entrada); echo "Coordenada y do primeiro ponto: "; $y1 = fgets($entrada); // vamos ler as coordenadas do segundo ponto echo "Coordenada x do segundo ponto: "; $x2 = fgets($entrada); echo "Coordenada y do segundo ponto: "; $y2 = fgets($entrada); $sinal = "+"; // vamos calcular o coeficiente angular da reta $m = ($y2 - $y1) / ($x2 - $x1); // vamos calcular o coeficiente linear $n = $y1 - ($m * $x1); // coeficiente linear menor que zero? O sinal será negativo if ($n < 0){ $sinal = "-"; $n = $n * -1; } // mostra a equação reduzida da reta echo "Equação reduzida: y = " . $m . "x" . " " . $sinal . " " . $n; ?> Ao executar este código PHP nós teremos o seguinte resultado: Coordenada x do primeiro ponto: 5 Coordenada y do primeiro ponto: 5 Coordenada x do segundo ponto: 9 Coordenada y do segundo ponto: 2 Equação reduzida: y = -0,75x + 8,75 Para testarmos se nossa equação reduzida da reta está realmente correta, considere o valor 3 para o eixo x da imagem acima. Ao efetuarmos o cálculo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- >> y = (-0.75 * 3) + 8.75 y = 6.5000 temos o valor 6.5 para o eixo y, o que faz com que o novo ponto caia exatamente em cima da reta considerada na imagem. |
PHP ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o seno de um número ou ângulo em PHP usando a função sin()Quantidade de visualizações: 1591 vezes |
Em geral, quando falamos de seno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função seno disponível nas linguagens de programação para calcular o seno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria. No entanto, é sempre importante entender o que é a função seno. Veja a seguinte imagem: ![]() Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles. Assim, o seno é a razão entre o cateto oposto (oposto ao ângulo theta) e a hipotenusa, ou seja, o cateto oposto dividido pela hipotenusa. Veja a fórmula: \[\text{Seno} = \frac{\text{Cateto oposto}}{\text{Hipotenusa}} \] Então, se dividirmos 20 por 36.056 (na figura eu arredondei) nós teremos 0.5547, que é a razão entre o cateto oposto e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.5547. O resultado será 0.9828 (em radianos). Convertendo 0.9828 radianos para graus, nós obtemos 56.31º, que é exatamente o ângulo em graus entre o cateto oposto e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é seno na trigonometria, vamos entender mais sobre a função sin() da linguagem PHP. Esta função recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <?php // vamos calcular o seno de três números echo "Seno de 0 = " . sin(0); echo "<br>Seno de 1 = " . sin(1); echo "<br>Seno de 2 = " . sin(2); ?> Ao executar este código PHP nós teremos o seguinte resultado: Seno de 0 = 0 Seno de 1 = 0.8414709848079 Seno de 2 = 0.90929742682568 Note que calculamos os senos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função seno mostrada abaixo: ![]() |
PHP ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se duas strings são iguais em PHP sem considerar maiúsculas e minúsculas usando a função strcasecmp()Quantidade de visualizações: 73 vezes |
Em algumas situações nós gostaríamos de testar se duas strings são iguais em PHP, sem diferentes letras maiúsculas e minúsculas. Isso pode ser feito com o auxílio da função strcasecmp(), que retorna um valor 0 se as duas strings forem iguais. Veja um exemplo completo de seu uso: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <?php $palavra1 = "Programar"; $palavra2 = "PROGRAMAR"; echo "A primeira palavra é: " . $palavra1; echo "\nA segunda palavra é: " . $palavra2; if(strcasecmp($palavra1, $palavra2) == 0){ echo "\nAs duas palavras são iguais"; } else{ echo "\nAs duas palavras são diferentes"; } ?> Ao executar este código PHP nós teremos o seguinte resultado: A primeira palavra é: Programar A segunda palavra é: PROGRAMAR As duas palavras são iguais |
PHP ::: Boletos Bancários, Arquivos de Remessa e Retornos do Banco ::: Caixa Econômica Federal - Banco 104 |
Boleto Bancário PHP - Como calcular o Dígito Verificador do Nosso Número (Módulo 11) - Boleto Caixa EconômicaQuantidade de visualizações: 2770 vezes |
Nesta dica mostrarei, passo-a-passo, como calcular o Dígito Verificador do Nosso Número para o boleto e arquivos de remessa da Caixa Econômica Federal (Banco 104). O Nosso Número é o número de identificação do título no Banco. Este número deve ser único nos seus sistemas, pois, sua combinação com o código do cedente o torno único também no sistema bancário. Além disso, é o Nosso Número que permite ao Banco e a empresa identificar os dados da cobrança que deram origem ao bloqueto. Na Especificação do Código de Barras para Bloquetos de Cobrança Sem Registro e Registrada no SIGCB (67.119 v005 micro), o Nosso Número é composto de 17 posições, sendo as 02 posições iniciais para identificar a Carteira e as 15 posições restantes são para livre utilização pelo Cedente. Seu formato é XYNNNNNNNNNNNNNNN-D, onde: a) X = Modalidade/Carteira de Cobrança (1-Registrada/2-Sem Registro); b) Y = Emissão do bloqueto (4-Cedente); c) NNNNNNNNNNNNNNN = Nosso Número (15 posições livres do Cedente); d) D = Dígito Verificador do Nosso Número calculado através do Modulo 11, conforme código que mostrarei a seguir. Nos boletos e arquivos de remessa da Caixa, o Dígito Verificador do Nosso Número admite 0 (zero), diferentemente do DV Geral do Código de Barras (que também mostro como calcular em dicas dessa seção). O cálculo que mostrarei a seguir é baseado no Módulo 11 e está de acordo com as instruções do Manual de Leiaute de Arquivo Eletrônico Padrão CNAB 240 - Cobrança Bancária Caixa - SIGCB - Versão 67.118 v024 micro e Especificação do Código de Barras para Bloquetos de Cobrança Sem Registro e Registrada no SIGCB (67.119 v005 micro). Tenha certeza de verificar sua versão do manual antes de usar o código apresentado. Dito isso, veja o código PHP completo para uma função que recebe o Nosso Número e retorna seu dígito verificador: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <?php // função que recebe o nosso número // e retorna o seu dígito verificador function dvNossoNumero($nossoNumero){ // o nosso número possui mais que 17 dígitos? if(strlen($nossoNumero) > 17){ die("O Nosso Número não pode ter mais que 17 dígitos."); } // agora vamos definir os índices de multiplicação $indices = "29876543298765432"; // e aqui a soma da multiplicação coluna por coluna $soma = 0; // fazemos a multiplicação coluna por coluna agora for($i = 0; $i < strlen($nossoNumero); $i++){ $soma = $soma + ((int)($nossoNumero[$i])) * ((int)($indices[$i])); } // obtemos o resto da divisão da soma por onze $resto = $soma % 11; // subtraímos onze pelo resto da divisão $digito = 11 - $resto; // atenção: Se o resultado da subtração for // maior que 9 (nove), o dígito será 0 (zero) if($digito > 9){ $digito = 0; } return $digito; } // vamos calcular o Dígito Verificador do // Nosso Número $carteira = "1"; // $emissao = "4"; // cedente $nossoNumero = "19"; // preenche com zeros até completar 15 posições $nossoNumero = sprintf("%015d", $nossoNumero); $nossoNumeroCompleto = $carteira . $emissao . $nossoNumero; $digito = dvNossoNumero($nossoNumeroCompleto); echo "O dígito verificador para o nosso número " . $nossoNumeroCompleto . " é: " . $digito; ?> Ao executar este código PHP nós teremos o seguinte resultado: O dígito verificador para o nosso número 14000000000028288 é: 5 |
PHP ::: Dicas & Truques ::: Data e Hora |
Datas e horas em PHP - Como obter a quantidade de dias entre duas datasQuantidade de visualizações: 1 vezes |
Nesta dica mostrarei como podemos efetuar um cálculo em PHP que retorna o número de dias entre duas datas. Fique atento(a) à ordem que a data inicial e a data final são fornecidos para a função. Veja o código PHP completo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- <html> <head> <title>Estudando PHP</title> </head> <body> <?php function quant_dias($data1, $data2){ return round((strtotime($data2) - strtotime($data1)) / (24 * 60 * 60), 0); } $inicio = date("m/d/Y"); // data atual $fim = "04/22/2021"; // data no formato mês/dia/ano echo "Dias entre as duas datas: " . quant_dias($inicio, $fim); ?> Ao executarmos este código nós teremos o seguinte resultado: Dias entre as duas datas: 31 |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |