Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
vamos lá:
$a = "Eu sou brasileiro";
explode(" ",$a);
//logicamente ele fica array("Eu","sou","brasileiro");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
}
>
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)
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 ;)