Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá!
Eu estou tentando resolver um outro problema com a tecnica do str_replace. Parece que vai dar certo, mas alguma coisa está fazendo o replace não funcionar bem
Eu fiz assim:
<?php
//
$teste = "16";
//
$quantidade2 = array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25");
//
$sigla = array("5","10","25","50","100","250","500","1000", "2500", "5000", "10", "50", "100", "250", "500", "1000", "5", "10", "25", "50", "100", "250", "1000", "2000"); //Cada um equivale a uma quantidade
//
$bodytag = str_replace( $quantidade2, $sigla, $teste);
echo $bodytag;O que acontece que o resultado de 16 alí dá 500000 (quinhentos mil). Mas não há opção de quinhetos mil. Daí eu achei que era algum confito visto que os números são parecidos, eu inclui um " " para cada vez que o númeral repetia. Tipo 10, 10, 10*
Mas o que será que é o problema?
Rapaiz, obrigado pela resposta.
Eu dei uma pesquisada la no php.net. Eu não sei se é por um pouco de falta de paciência minha, mas pelo que eu vi la o array_replace não serviu para mim.
Daí eu tentei fazer umas "guambiarras" no que eu tinha e até que funcionou. Está longe do que eu queria, mas está bem melhor do que do jeito que estava o meu sistema.
Eu fiz assim para tirar os conflitos:
$teste = "19";
$quantidade2 = array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "19", "20", "21", "22", "23", "24", "25", "26");
$sigla = array("5", "Dez Unidades", "Vinte e Cinco Unidades", "50","Cem Unidades","Duzentos e Cinquenta Unidades","500","Mil Unidades", "Dois Mil e Quinhetos Unidades", "cinco mil", "10", "50", "100", "Duzentos e Cinquenta Unidades", "500", "1000", "5", "10", "25", "50", "100", "Duzentos e Cinquenta Unidades", "1000", "2000"); //Cada um equivale a uma quantidade
//
$bodytag = str_replace( $quantidade2, $sigla, $teste);
echo $bodytag;
Para arrays, use array_replace para fazer alterações de uma para outra e array_push para fazer a atualização. Se necessário, pesquise no site do php sobre essas funções.