Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa Noite pessoal!
Então estou com uma dúvida/problema.
Tenho uma string, a principio vou trata-la como sendo simples:
Ex:
"1717182017171617,0300.00,02012008,00001234,Lockbox Deposit";
Preciso converter a primeira parte dessa string 1717182017171617 em 11241101 essa convers"ao seguindo uma tabela.
Fiz da seguinte maneira:
<?php
$transacao = "1717182017171617,0300.00,02012008,00001234,Lockbox Deposit";
addslashes($transacao);
$tran = str_split ($transacao);
$tran = explode (",",$transacao);
$campo1 = str_split ($tran[0],2);
for ($i=0;$i<=count($campo1);$i++) {
switch ($campo1[$i]) {
case 16: $campo1[$i] = 0; break;
case 17: $campo1[$i] = 1; break;
case 18: $campo1[$i] = 2; break;
case 19: $campo1[$i] = 3; break;
case 20: $campo1[$i] = 4; break;
case 21: $campo1[$i] = 5; break;
case 22: $campo1[$i] = 6; break;
case 23: $campo1[$i] = 7; break;
case 24: $campo1[$i] = 8; break;
case 25: $campo1[$i] = 9; break;
}
}
echo "\"$campo1[0]"."$campo1[1]"."$campo1[2]"."$campo1[3]"."$campo1[4]"."$campo1[5]"."$campo1[6]"."$campo1[7]"."$campo1[8]"."$campo1[9]\"".","."$tran[1]".",\""."$tran[2]\"".",\""."$tran[3]\"".",\""."$tran[4]\"";
?>Consegui o resultado pretendido, porém essa string vêm de um arquivo txt. Essa parte que estou com problema, pois consigo visualizar as strings que vêm do arquivo porém não consigo fazer a conversão.
Estou tentando dessa maneira:
<?php
$txt = file_get_contents("codigo.txt");
$trans = str_split ($txt);
$trans = explode (";",$txt);
for ($i=0;$i<=count($trans);$i++) {
$transacao = str_split ($trans[$i]);
$transacao = explode (",",$trans[$i]);
$campo = str_split ($trans[$i][0],2);
for ($j=0;$j<=count($campo[$j]);$j++) {
switch ($campo[$j]) {
case 16: $campo[$j] = 0; break;
case 17: $campo[$j] = 1; break;
case 18: $campo[$j] = 2; break;
case 19: $campo[$j] = 3; break;
case 20: $campo[$j] = 4; break;
case 21: $campo[$j] = 5; break;
case 22: $campo[$j] = 6; break;
case 23: $campo[$j] = 7; break;
case 24: $campo[$j] = 8; break;
case 25: $campo[$j] = 9; break;
}
}
for ($z=0;$z<=count($campo[$z]);$z++) {
echo "$campo[$z]<br />";
}
}
?>Porém apenas esta me retornando "1" pelo que entendi ele nao esta rodando o laço para exibir todos os outros caracteres da string.Alguém pode me ajudar? Caso nao tenha sido claro, só perguntar, que tento me expressar melhor.
Até Mais.
Obrigado!
Carregando comentários...