Você está aqui: PHP ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Escreva um programa PHP para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no array - Desafio de Programação Resolvido em PHP

Quantidade de visualizações: 1438 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);
Escreva um programa PHP para mover todos os zeros para o final do vetor, ou seja, para a direita, sem alterar a ordem dos elementos diferentes de zero já presentes no array e sem criar um vetor adicional ou temporário.

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
Resposta/Solução:

Veja a resolução comentada deste exercício usando PHP:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?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.

Link para compartilhar na Internet ou com seus amigos:

PHP ::: Fundamentos da Linguagem ::: Variáveis e Constantes

Apostila PHP para iniciantes - Como usar constantes na linguagem PHP

Quantidade de visualizações: 11978 vezes
Como acontece na maioria das linguagens de programação, o PHP também permite o uso de constantes. Como o próprio nome diz, constantes são inicializadas uma vez e não podem ter seus valores alterados durante a execução do programa.

A definição de constantes em PHP segue as mesmas regras de nomeação de variáveis, com a exceção de que constantes não possuem o símbolo $ e são geralmente escritas em letras maiúsculas.

Diferente de variáveis, constantes, uma vez definidas, são acessadas globalmente. Não há a necessidade de redeclará-las em cada nova função ou arquivo.

A síntaxe de definição de uma constante é:

define("CONSTANT_NAME", value [, case_sensitivity])

onde:

a) CONSTANT_NAME é o nome da constante;

b) value é o valor atribuído à constante. Não é possível atribuir arrays nem objetos à constantes;

c) case_sensitivity permite definir se o nome da constante será tratado igualmente se referenciado usando letras maiúsculas ou minúsculas. O valor padrão é true, o que quer dizer que "VALOR" e "Valor" serão tratados como uma única constante.

REVISÃO: Revisando este código no PHP 8 eu percebi que o terceiro argumento (case_sensitivity) não é mais suportado, e gera um aviso do tipo:

Warning: define(): Argument #3 ($case_insensitive) is ignored since declaration of case-insensitive constants is no longer supported in...

Veja um exemplo de declaração e uso de constantes em PHP:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?
  // declara uma constante com o nome MODO e valor 2
  define("MODO", 2);
  echo "O valor definido é: " . MODO; 
?>

Veja agora o que acontece quando tentamos modificar o valor de uma variável do tipo constante:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?
  // declara uma constante com o nome MODO e valor 2
  define("MODO", 2);
  
  // vamos tentar alterar o valor da constante
  MODO = 10;
?>

Este código gera a seguinte mensagem de erro:

Parse error: syntax error, unexpected token "=" in...


PHP ::: PHP + XML ::: SimpleXML

Como usar a função simplexml_load_file() do PHP para carregar um arquivo XML e convertê-lo em um objeto SimpleXMLElement

Quantidade de visualizações: 4787 vezes
A função simplexml_load_file() pode ser usada quando queremos carregar um arquivo XML e convertê-lo em um objeto da classe SimpleXMLElement. Veja a assinatura desta função:

SimpleXMLElement simplexml_load_file(string $filename [, 
  string $class_name = "SimpleXMLElement" [, int $options = 0 
  [, string $ns = "" [, bool $is_prefix = false]]]])


Este método possui alguns parâmetros que são opcionais. O único parâmetro exigido é o nome e/ou caminho do arquivo XML a ser carregado.

Código para clientes.xml:

<?xml version="1.0" encoding="iso-8859-1"?>
<cadastro>
  <cliente id="14" ativo="true">
     <nome>Osmar J. Silva</nome>
     <email>osmar@arquivodecodigos.com.br</email>
  </cliente>
  <cliente id="75" ativo="false">
     <nome>Cintia Gomes Arantes</nome>
     <email>cintia@arquivodecodigos.com.br</email>
  </cliente>
</cadastro>


Veja agora como carregar o conteúdo deste arquivo e convertê-lo em um objeto SimpleXMLElement:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?
  $xml = simplexml_load_file("clientes.xml");
  print_r($xml);
?>

Ao executarmos este código teremos o seguinte resultado:

SimpleXMLElement Object ( [cliente] => Array ( 
  [0] => SimpleXMLElement Object ( [@attributes] => Array ( 
  [id] => 14 [ativo] => true ) [nome] => Osmar J. Silva 
  [email] => osmar@arquivodecodigos.net ) [1] => 
  SimpleXMLElement Object ( [@attributes] => Array ( 
  [id] => 75 [ativo] => false ) [nome] => Cintia Gomes Arantes 
  [email] => cintia@arquivodecodigos.net ) ) )


Neste documento XML nós temos dois clientes, ou seja, temos um objeto SimpleXMLElement que contém um array de outros dois objetos SimpleXMLElement (um para cada cliente). Para verificarmos se isso é realmente verdade, veja o trecho de código abaixo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?
  // carrega o arquivo XML e o converte em um objeto SimpleXMLElement
  $xml = simplexml_load_file("clientes.xml");
  
  // vamos mostrar os dados do primeiro cliente
  echo "Nome: " . $xml->cliente[0]->nome . "<br>";
  echo "E-Mail: " . $xml->cliente[0]->email;
?>

Ao executarmos este código teremos o seguinte resultado:

Nome: Osmar J. Silva
E-Mail: osmar@arquivodecodigos.com.br



PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como obter a quantidade de elementos em um vetor (array ou matriz de uma dimensão) em PHP

Quantidade de visualizações: 7963 vezes
Em várias situações de programação em PHP nós precisamos contar, ou seja, obter a quantidade de elementos em um vetor, também chamado de array ou matriz unidimensional (de uma dimensão). Para isso nós podemos usar as funções count() ou sizeof().

Veja um exemplo completo de seu uso:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<html>
<head>
  <title>Estudos PHP</title>
</head>
 
<body>

<?php  
  $pessoas[0] = "Osmar J. Silva";
  $pessoas[1] = "Salvador M. Andrade";
  $pessoas[2] = "Dyego Fernandes de Sousa";
 
  echo "O vetor possui " . sizeof($pessoas) . " elementos.";
?>  

</body>
</html>


Ao executar este código nós teremos o seguinte resultado:

O vetor possui 3 elementos.


Desafios, Exercícios e Algoritmos Resolvidos de PHP

Veja mais Dicas e truques de PHP

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 37 usuários muito felizes estudando em nosso site.