Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde galera, uma dúvida simples, porém algo que nunca mechi.
Tenho a váriavel "$cpf_cnpj" onde ela vem como por exemplo f12345678901 ou j12345678901234.
O que preciso é o seguinte, caso ele venha com o f no começo, ele desmonte essa variável e reformule da seguinte maneira 123.456.789-01, sabendo isso com certeza vou saber fazer o mesmo com o CNPJ.
Desde já agradeço...
<?php
function CheckDoc($doc)
{
if(strlen($doc)==0)
{
return 'Nenhum documento informado!';
}else{
if(substr($doc,0,1) == 'f')
{
$doc = substr($doc,1,3).'.'.substr($doc,4,3).'.'.substr($doc,7,3).'-'.substr($doc,10,2);
}else{
$doc = substr($doc,1,2).'.'.substr($doc,3,3).'.'.substr($doc,6,3).'/'.substr($doc,9,4).'-'.substr($doc,13,2);
}
return $doc;
}
}
echo(CheckDoc('j12345678901234'));
echo('<br>');
echo(CheckDoc('f12345678901'));
?>Boa tarde, a função que o jonatas postou resolve seu problema, mas caso queira uma implementação orientada a objetos poderia usar o seguinte código:
<?php class Documento{ private $documento; public function __construct($documento) { $this->documento = $documento; } public function checarTipo() { if (strlen($this->documento) <= 11): // faz operações com cpf else: // faz operações com cnpj endif; } }
Olá!
Gosto de lembrar sempre que sou um aprendiz, então minhas ideias nem sempre são as melhores soluções, mas espero ajudar-lhe a dar uma luz.
Como não sabemos se você manja aquela função de "number_format" você poderia analisar estes tutoriais
http://php.net/manual/pt_BR/function.number-format.php
http://leocaseiro.com.br/moedas-decimais-funcao-number_format-php/
Achei esse link que poderia fazer isso ja no sql
https://sqlfromhell.wordpress.com/2009/11/28/valores-numericos-cpf-e-cnpj/
Daí voltando no php, acho que você poderia tentar usar o if else para lhe ajudar com esse sistema
Tipo assim
se(if) a variavel (string) for igual (=) a 'F' é o número do cpf ($number_format_do_cpf)
else (senão) o número em formato cnpj ($variavel_number_format_do_cnpj)
Bom é mais ou menos isso. Torço para que pelo menos isso seja um passo para lhe ajudar no melhor caminho para resolver essa questao :)