Você está aqui: PHP ::: Dicas & Truques ::: Sessão

Aprenda a controlar a diretiva de configuração session.auto_start em seus códigos PHP

Quantidade de visualizações: 11051 vezes


A diretiva de configuração session.auto_start permite definir se uma sessão PHP será criada ou carregada automaticamente ou apenas por meio de chamadas à função session_start().

Por padrão, o valor desta diretiva é 0, o que significa que sempre precisamos usar session_start(). Veja um trecho de código que mostra como testar o valor de session.auto_start:
<?
  $valor = ini_get('session.auto_start');
  
  if($valor == 0)
    echo "session.auto_start está desabilitado.";
  else
    echo "session.auto_start está habilitado.";
?>
É possível alterar o valor desta diretiva em seus códigos PHP. Lembre-se de que a alteração dura apenas durante a execução do código. Ao final da execução o valor presente no php.ini é que prevalecerá. Veja:
<?
  // define session.auto_start para automático
  ini_set('session.auto_start', "1");
  
  // coloca um valor na sessão. Veja que não precisei
  // chamar session_start()
  $_SESSION["site"] = "http://www.arquivodecodigos.net"; 
  
  // exibe o valor gravado
  echo "O valor gravado é: " . $_SESSION["site"];
?>
Use esta diretiva com cuidado. Se session.auto_start estiver habilitado, você não conseguirá gravar objetos PHP na sessão, uma vez que as definições de classe devem ser sempre carregadas antes de chamadas à session_start() para que o interpretador consiga recriar os objetos.


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

Como verificar a existência de um valor em um array PHP usando a função in_array()

Quantidade de visualizações: 7775 vezes
A função in_array() da linguagem PHP nos permite pesquisar um valor em um vetor (array). Se o valor for encontrado, o valor TRUE é retornado. Caso contrário o valor FALSE é retornado.

Veja um exemplo PHP no qual temos um vetor de strings com nomes de pessoas e queremos encontrar a pessoa com o nome "Victor":

<?php
/*
  Este exemplo mostra como verificar a existência
  de um valor em um array usando in_array().
*/

$pessoas[0] = "Carlos";
$pessoas[1] = "Juliana";
$pessoas[2] = "Igor";
$pessoas[3] = "Marcelo";
$pessoas[4] = "Amélia";

if(in_array("Victor", $pessoas)){
  echo "O valor pesquisado foi encontrado no array.";
}
else{
  echo "O valor pesquisado NÃO foi encontrado no array.";
}
?>

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

O valor pesquisado NÃO foi encontrado no array.


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

Como usar a função array_unique() do PHP para remover elementos duplicados de um vetor - Removendo elementos repetidos de um array PHP

Quantidade de visualizações: 14217 vezes
Em algumas situações nossos códigos precisam remover os elementos duplicados em um array (vetor) PHP. Isso pode ser feito por meio do uso da função array_unique(). Esta função recebe um array e retorna um outro array com os elementos duplicados removidos. Veja um exemplo:

<?php
  // vamos declarar e inicializar um vetor de inteiros
  $valores = array(43, 2, 6, 11, 98, 6, 3, 6);
 
  // vamos exibir os valores do vetor
  echo "Com elementos duplicados:<br>";
  foreach($valores as $valor){
    echo $valor . " - ";
  }
 
  // vamos remover os elementos duplicados
  $valores = array_unique($valores);
   
  // vamos exibir os valores do vetor novamente
  echo "<br><br>Sem elementos duplicados:<br>";
  foreach($valores as $valor){
    echo $valor . " - ";
  }
?>

Ao executarmos este código teremos o seguinte resultado:

Com elementos duplicados:
43 - 2 - 6 - 11 - 98 - 6 - 3 - 6 - 
 
Sem elementos duplicados:
43 - 2 - 6 - 11 - 98 - 3 -


Note que a função array_unique() remove APENAS os valores dos elementos duplicados, ou seja, as chaves ou índices são mantidos. Isso pode ser visto no trecho de código a seguir:

<?php
  // vamos declarar e inicializar um vetor de inteiros
  $valores = array(43, 2, 6, 11, 98, 6, 3, 6);
 
  // vamos listar os valores dos elementos no vetor
  for($i = 0; $i < count($valores); $i++){
    echo $valores[$i] . " - ";
  }
 
  // vamos remover os elementos duplicados
  $valores = array_unique($valores);
   
  // vamos listar os valores no vetor novamente
  echo "<br><br>";
  for($i = 0; $i < count($valores); $i++){
    echo $valores[$i] . " - ";
  }
?>

Este código resultará em:

43 - 2 - 6 - 11 - 98 - 6 - 3 - 6 - 
 
43 - 2 - 6 - 11 - 98 - -


Note que a última iteração do laço deveria alcançar o valor 3. Em vez disso o laço imprimiu um valor não definido no índice 5. Esta dica foi escrita no PHP 5.2.10. Vamos torcer para que as versões mais recentes não apresentem este comportamento. Enquanto isso EVITE usar o laço for com vetores resultantes de uma chamada à função array_unique(). Use o laço foreach().


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: 6575 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:

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


PHP ::: Fundamentos da Linguagem ::: Estruturas de Controle

PHP para iniciantes - Como usar o laço while em PHP

Quantidade de visualizações: 12307 vezes
O laço while é usado quando queremos que um bloco de instruções seja executado ENQUANTO uma condição for verdadeira (true). Veja um trecho de código exemplificando isso:

<?
  $valor = 1;
  
  while($valor <= 10){
    echo $valor . "<br>";
    $valor++;
  }
?>

Este trecho de código exibe os números de 1 à 10 na página. Veja agora o mesmo trecho de código, desta vez contando de 10 à 1:

<?
  $valor = 10;
  
  while($valor >= 1){
    echo $valor . "<br>";
    $valor--;
  }
?>

Lembre-se de que a condição testada em um laço while deve resultar em um valor boolean (true ou false). O trecho de código seguinte deixa isso mais claro:

<?
  $continuar = true;
  $valor = 1;
  
  while($continuar){
    echo $valor . "<br>";
    $valor++;
	
    if($valor > 10)
     $continuar = false; // pára o laço
  }
?>

Para finalizar, lembre-se de que um laço while pode nunca ser executado, ou seja, se a condição testada na primeira iteração já resultar false, o fluxo de código é transferido para a primeira instrução após o laço.


PHP ::: Dicas & Truques ::: Arquivos e Diretórios

Como renomear arquivos usando a função rename() do PHP

Quantidade de visualizações: 24082 vezes
Arquivos podem ser renomeados em PHP usando a função rename(). Esta função recebe o caminho e nome atual do arquivo e o novo caminho e nome. Se o destino for diferente, o arquivo será movido de um diretório para outro. Veja um exemplo:

<?php
  // renomeia o arquivo testes.txt para testes2.txt
  $de = "/site/public_html/testes.txt";
  $para = "/site/public_html/testes2.txt";
  
  if(rename($de, $para)){
    echo "Arquivo renomeado com sucesso.";
  }
  else{
    echo "Não foi possível renomear o arquivo.";
  }
?>

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

Arquivo renomeado com sucesso.

A função rename() da linguagem PHP retorna um valor boolean (verdadeiro ou falso) indicando se a operação foi realizada com sucesso ou se houve um erro.


Veja mais Dicas e truques de PHP

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Elétrica pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 15 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

Linguagens Mais Populares

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



© 2021 Arquivo de Códigos - Todos os direitos reservados | Versión en Español | Versão em Português