Ir para conteúdo

POWERED BY:

Arquivado

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

Deleu

Converter String para Array

Recommended Posts

Pessoal, tô fazendo um escritor XML pra NF-e e acredito que muitos aqui já passaram por isso, talvez possam me ajudar.

 

Eu preciso disto: http://www.php.net/manual/en/function.str-split.php

Porém, uma String com 44 Caracteres (ID da NF-e), as funções que o PHP fornecem parece não suportar (Tentei também substr e cheguei no mesmo lugar).

Por fim, tentei fazer um algoritmo totalmente matemático para resolver meu problema, e tive sucesso, mas falhei no mesmo lugar destas funções (Tamanho da String). Com matemática, precisaria calcular potência de 10^44 pra chegar ao último algarismo.

 

A pergunta final é: Como calcular potência de 10^44, 10^43, 10^42 .... OU que função no PHP me ajudaria a montar um Array a partir de uma String com 44 caracteres?

 

Qualquer uma das duas opções me agrada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Deleu :)

 

Não entendí bem sua pergunta :huh:

 

Voce quer fazer um array e cada índice da array terá uma string de 44 caracteres, ou quer montar 44 índices na array cada um com um valor dessa string?

 

Se voce quer quebrar essa string em pedados use a função explode(): http://www.php.net/manual/pt_BR/function.explode.php

 

Me explique melhor o que voce quer fazer ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi porque você não conseguiu utilizar a função, teste no seu servidor o seguinte código:

 

<?php
$string = "14587451248759856032501548478523560127914587";
$array = str_split($string);
foreach ($array as $x) {
echo $x . "<br />";
}
?>

Se ele funcionar (imprimir várias linhas de números), não há nada de errado com a função, e sim como você está utilizando-a.

Como calcular a potência? Você quer somar os resultados... subtrair...? Com loop:

 

$tamanho = 44;
for ($i = 44; $i > 0; $i++) { // aqui ele irá percorrer do 44 até o 1
// bom, aqui você tem o controle do que fazer, exemplo de soma:
$total += pow(10,$i); // criamos um total para se incrementar com a potência de 10 a $i
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu preciso disto: http://www.php.net/manual/en/function.str-split.php

Porém, uma String com 44 Caracteres (ID da NF-e), as funções que o PHP fornecem parece não suportar (Tentei também substr e cheguei no mesmo lugar).

 

 

explique que lugar é esse

dê um exemplo concreto: mostre o dado inicial, o que pretende fazer com ele e mostre o que você obteve (que está errado, como você disse)

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.