Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Apenas Eu

array e replace

Recommended Posts

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?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.