Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal é o seguinte, to fazendo um programa, que abre um arquivo txt, e joga dentro de um array. Esse arquivo esta delimitado com ; para cada campo, ou seja
leonardo;118;110;63,89;5481,27;8579,23;49,83
eu queria saber quantos campos tem até o ultimo ponto e virgula, isso ta dentro de um while, mas a quantidade de campos é a mesma..
tem como pegar?
$ponteiro = fopen ("teste1.txt", "r");
while (!feof ($ponteiro)) {
//Trabalha com o Arquivo Txt de SMS
$linha = fgets($ponteiro, 4096);
$col = explode(";", $linha);
$coluna1 = $col[0];
echo $coluna1.'<br>';
meu codigo esta assim:
valeu pessoal
Simplesmente:
$campos = count($col); // retorna o número de campos/itens do array
Se você tem um registro por linha, usar a função file() é mais fácil, pois ela já retorna um array onde cada elemento contém uma linha do arquivo.
Você parece estar usando algo muito parecido com CSV(Valores Separados Por Vírgula, na sigla em inglês), neste caso você poderia facilmente migrar para esse formato, podendo inclusive preservar o separador ';' e usar a função fgetcsv() para pegar os valores -- na documentação tem um bom exemplo de como fazer isso.
Valeu Evandro Oliveira, mangakah deu certo....
>
eu queria saber quantos campos tem até o ultimo ponto e virgula, isso ta dentro de um while, mas a quantidade de campos é a mesma..
tem como pegar?
$quantidade_de_campos = sizeof($col);
http://php.net/sizeof