Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
45
respostas

Receber Array De Objeto do JS

Como faço para receber um array de Objetos que tenho no JS para o PHP ? Isso deve ocorrer quando eu clicar em um botão

45 respostas
solução!

Eu sugiro enviar a array como string para o PHP... transformando um json em string.

JSON.stringify(array)

envia via GET ou POST, pode ser num campo hidden do form, e depois transformando novamente em array no php

$array=json_decode($_POST['jsondata']);

só com esse código séria possível ?

Não, você precisa colocar o resultado de

JSON.stringify(array)

em um campo que vai ser enviado para o php via post quando clicar no botão (fazer o submit de um form)

Ok, para usar o JSON, é necessário de algo ?ou só basta usar o que você esta dizendo ?

só usar, não tem dependencia.

JSON. stringify(array)

pega o array que vc mandar, e transforma em string, (mesmo se fosse um json complexo ele transformaria)

seria algo assim ? Estou tentando criar o input pelo js.

var down = document.getElementById('down'); var x = 2; down.addEventListener('click',function(e){ var form = document.getElementById('form'); JSON.stringify(arrayPaginas); var m = document.createElement("INPUT"); m.setAttribute("type", "hidden"); m.setAttribute("type", "arrayEnviado"); m.setAttribute("value",'JSON.stringify(arrayPaginas)'); form.appendChild(m);

});

<?php

$arrayRecebido = json_decode($_POST['arrayEnviado']); var_dump( $arrRecebido);

?>

Se o down for um button, sim, mas ainda falta dar um post no form.

Esse é o meu form. Do jeito que está no momento, quando dou var_dump($$arrayRecebido); Nao mostra nada

troca m.setAttribute("type", "arrayEnviado");

por

m.setAttribute("name", "arrayEnviado");

e m.setAttribute("value",'JSON.stringify(arrayPaginas)'); por m.setAttribute("value",JSON.stringify(arrayPaginas));

O que ?

O código abaixo faz o que você quer


<?php
if(isset($_POST['arrayEnviado'])){
    $arrayRecebido = json_decode($_POST['arrayEnviado']); 
    var_dump( $arrayRecebido);
}
?>



<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>

<form id="form" method="POST">
    <input type="submit" id="down" name="down"/>
</form>

<script type="text/javascript">
    var down = document.getElementById('down'); 

    console.log(down);
    var x = 2; 

    var arrayPaginas = ['a', 'b'];

    down.addEventListener('click',function(e){ 
        var form = document.getElementById('form'); 
        var m = document.createElement("INPUT"); 
        m.setAttribute("type", "hidden"); 
        m.setAttribute("name", "arrayEnviado"); 
        m.setAttribute("value",JSON.stringify(arrayPaginas)); 
        form.appendChild(m);
    });
</script>

</body>
</html>

Estou fazendo a mesma coisa, mas não está indo, será o motivo porque meu form original tem mais de 1 botão ?

só se mandar o code todo consigo dar uma olhada

O codigo em geral tem um input file onde recebo um arquivo txt. depois eu envio ele e leio o arquivo e crio objetos em JS, até ai tudo bem, depois preciso pegar os mesmos objetos que foram criados com o botao enviar e passar novamente para o php, que é onde está dando o problema atual. <!DOCTYPE html>

<?php function removerEspacos($arrRecebido){ $arr = array(); $arr = explode(' ', $arrRecebido); return $arr; } $file = $_POST['fileupload']; $fileF = fopen($file,"r") or die('aaaaa'); $lines=array(); while(!feof($fileF) ){ $line=fgets($fileF); $line=trim($line); $lines[]=$line; } fclose($fileF); $i = 2; $arr1 =$lines[2]; $arr2 ; $arr3 ; $topologia = $lines[0]; $conexao = array(); $qtdN = intval($lines[1]); $vetorAtivacao = array(); $atual = 2; while($i < count($lines)){ if( $atual == 2 ){ if($lines[$i] != ' '){ $arr2= removerEspacos($lines[$i]); $string_vetorAtivacao = implode("|", $arr2); $atual++; $i++; } }else if($atual == 3 ){ $conexao = array(); for ($k=0; $k < $qtdN; $k++) { $arr3 = removerEspacos($lines[$i]); $conexao = array_merge($conexao,$arr3); $arr3=''; $atual=2; $i++; } $string_matrixConexao = implode("|", $conexao); ?> <?php } } ?> <?php if(isset($_POST['arrRecebido'])){ $arrayRecebido = json_decode($_POST['name']); var_dump($arrayRecebido) ; } ?>

O formato do arquivo txt é o seguinte. 0 3 1 0 1 0 0.522 0.11 0.1 0 0.7 1 0.9 0.7 0 0 0 0 0.5 0.7 0.1 0 0.7 1 0.9 0.7 1 1 1 0 0.5 0.7 0.1 0 0.7 1 0.9 0.7 1 0 1 0 0.5 0.7 0.1 0 0.7 1 0.9 0.7

use a tag <> Inserir código, ou não consigo ver o HTML JS

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<script type="text/javascript">

var arrayPaginas =[];
function Pagina (qtdTotalRecebida,vetorEstadosRecebida,vetorMatrixRecebida,mapaDeCorRecebida,
                    topologiaRecebida,qtdCamadaRecebida = 0 ,vetorCamadasRecebida = []){


    var saberTotalDeNeuronios = function(qtdTotal){
        return qtdTotalRecebida;
    }

    var passarValoresDoVetor = function(vetorEstados){
        var vetorEstadosValores = [];
         i = 0;
        vetorEstados.forEach(elemento =>{
            vetorEstadosValores[i] = elemento;

            i++;

        });

        return vetorEstadosValores;

    }
    var passarValoresDaMatriz = function(vetorMatrix){
        var matrizEstadosValores = [];
         i = 0;
        vetorMatrix.forEach(elemento =>{
            matrizEstadosValores[i] = parseFloat(elemento);
            i++;
        });
        return matrizEstadosValores;
    }

    var saberMapaEscolhido = function(mapaDeCor){
        return mapaDeCor;
    }

    var saberTopologiaEscolhida = function(topologia){
        return topologia;
    }
    var saberTotalDeCamadas = function(qtdCamada){
        return qtdCamada;
    }

    var passarValoresDasCamadas = function(vetorCamada){
        var vetorCamadas = [];
         i = 0;
        vetorCamada.forEach(elemento =>{
            //console.log(elemento.value);
            vetorCamadas[i] = elemento;
            i++;
        });
        return vetorCamadas;
    }

    var i=0;

    this.qtdNeuro = saberTotalDeNeuronios(qtdTotalRecebida);



    this.vetor = passarValoresDoVetor(vetorEstadosRecebida);
    this.matrix = passarValoresDaMatriz(vetorMatrixRecebida);

    this.mapa = saberMapaEscolhido(mapaDeCorRecebida);
    this.topologia = saberTopologiaEscolhida(topologiaRecebida);

    this.qtdCamadas = saberTotalDeCamadas(qtdCamadaRecebida);
    this.camadas = passarValoresDasCamadas(vetorCamadasRecebida);
    //this.camadas = vetorCamadasRecebida;
}


</script>
<form method="POST" action="read.php" id="form">
<input type="file" name="fileupload" value="fileupload" id="fileupload">
<input type="hidden" name="name" value="">
<button type="submit" name="button" id="b">enviar</button>
<button type="submit" name="button" id="down">down</button>
</form>
<p id="x"></p>
<?php
/*
while($i <  count($arr1)){

    if($arr1[$i] != ' '){
        $arr2[$i] = $arr1[$i];
    }


    $i++;
}

while($i < count($lines)){

    if(strlen($lines[$i]) == $qtdN +3){

        if($lines[$i] != ' '){

            $arr2[$atual]=str_split($lines[$i]);
            $atual++;
        }

    }


    $i++;
}

*/

function removerEspacos($arrRecebido){

    $arr = array();
    //var_dump($arrRecebido);
    $arr = explode(' ', $arrRecebido);
    return $arr;

}

//$nome = $_POST['name'];
$file = $_POST['fileupload'];
//echo $file;
$fileF = fopen($file,"r") or die('aaaaa');

$lines=array();
while(!feof($fileF) ){
    $line=fgets($fileF);

    //process line however you like
    $line=trim($line);

    //add to array
    $lines[]=$line;

}

//var_dump($lines);
$i = 2;
$arr1 =$lines[2];
$arr2 ;
$arr3 ;
$topologia = $lines[0];
$conexao = array();
$qtdN = intval($lines[1]);
$vetorAtivacao = array();
//$conexao = array();
$atual = 2;
while($i < count($lines)){
    // achar logica do vetor e conexao, saber qual é qual
    if( $atual == 2 ){
        //echo $i;
        if($lines[$i] != ' '){

            $arr2= removerEspacos($lines[$i]);

            $string_vetorAtivacao = implode("|", $arr2);
            $atual++;
            //echo $i;
            $i++;

        }

    }else if($atual == 3 ){
        //echo $i;
        $conexao = array();
        for ($k=0; $k < $qtdN; $k++) { 
            $arr3 = removerEspacos($lines[$i]);

            $conexao = array_merge($conexao,$arr3);


            $arr3='';
            $atual=2;
            $i++;
        }
        //var_dump($arr2);
        //var_dump($conexao);
        $string_matrixConexao = implode("|", $conexao);
        ?>
     <script>

         var i, array_vetorAtivacao,array_matrixConexao, string_vetorAtivacao,string_matrixConexao,qntdNRecebida,topologiaRecebida;
         var qtdN,topologia,mapa;
         var vetorAtivacao =[];
         var matrixConexao = [];

         qntdNRecebida = '<?php echo $qtdN; ?>';
         topologiaRecebida = '<?php echo $topologia; ?>';
        string_vetorAtivacao = '<?php echo $string_vetorAtivacao; ?>';
        string_matrixConexao = '<?php echo $string_matrixConexao; ?>';

        qtdN = parseInt(qntdNRecebida);
        topologia =  parseInt(topologiaRecebida);
        mapa = 1;


        array_vetorAtivacao = string_vetorAtivacao.split("|");
        array_matrixConexao = string_matrixConexao.split("|");

        for (i in array_vetorAtivacao){
            vetorAtivacao[i] = parseFloat(array_vetorAtivacao[i]);

        }
        for (i in array_matrixConexao){
            matrixConexao[i] = parseFloat(array_matrixConexao[i]);
        }
        /*console.log(qtdN);
        console.log(mapa);
        console.log(topologia);
        console.log(vetorAtivacao);
        console.log(matrixConexao);*/

        var pag = new Pagina(qtdN,vetorAtivacao,matrixConexao,mapa,topologia);

        arrayPaginas.push(pag);
        //console.log(arrayPaginas);
     </script>
    <?php

    }


}



/* ?>
     <script>

         var i, array_produtos,array_produtos2, string_array,string_array2;

        string_array = '<?php echo $string_array; ?>';
        string_array2 = '<?php echo $string_array2; ?>';

        array_produtos = string_array.split("|");
        array_produtos2 = string_array2.split("|");

        console.log(array_produtos);


     </script>
    <?php*/
/*
$string = "1 0 1 0";
echo $string;

$recebe = removerEspacos($string);
var_dump($recebe) ;
*/
/*print_r($arr2);
//echo "<script> var vetor ="+ $arr2 +" </script>";
for ($i=0; $i < count($arr2) ; $i++) { 
     echo $arr2[$i];


}*/
// echo '<script>var utilizador = "'. $arr2 .'";</script>';
/*
$j=0;
while($i <  strlen($arr1)){

    if($arr1[$i] != ' '){
        $arr3[$j] = intval($arr1[$i]);
        $j++;
    }
    //echo $arr2[$i];


    $i++;
}



$i=0;

var_dump($arr3);
//var_dump($arr2);*/

// LOGICA PARA PASSAR O VALOR do PHP para o JS

//echo $string_array;
fclose($fileF);
?>
<script>/*
var pag = new Pagina(3,[0,1,0],[0,1,0,1,0,],1,0);
console.log(pag);
*/
/*
//variáveis
//LOGICA PARA RECEBER O VALOR DO PHP PARA O JS
var i, array_produtos,array_produtos2, string_array,string_array2;
//recebe a string com elementos separados, vindos do PHP
string_array = "<?php echo $string_array; ?>";
string_array2 = "<?php echo $string_array2; ?>";
//transforma esta string em um array próprio do Javascript
array_produtos = string_array.split("|");
array_produtos2 = string_array2.split("|");
var x=[],y=[];
var t=0;
//varre o array só pra mostrar que tá tudo ok

for (i in array_produtos){
 x[i] = parseFloat(array_produtos[i]);
 console.log(x[i]);

}
for (i in array_produtos2){
 y[i] = parseFloat(array_produtos2[i]);
 console.log(y[i]);

}


*/
//document.write(x);

var down = document.getElementById('down');
var x = 2;
down.addEventListener('click',function(e){
    //e.preventDefault();
    var form = document.getElementById('form');
    console.log(arrayPaginas);
    JSON.stringify(arrayPaginas);
    var m = document.createElement("INPUT");
    m.setAttribute("type", "hidden");
    m.setAttribute("name", "arrayEnviado");
    m.setAttribute("value",JSON.stringify(arrayPaginas));
    form.appendChild(m);


});

</script>
<?php 
if(isset($_POST['arrayEnviado'])){
$arrayRecebido = json_decode($_POST['arrayEnviado']);

     # code...

    var_dump($arrayRecebido) ;

}
?>
</body>
</html>

nao considere os comentários

é tudo um arquivo só?

sim, depois que vou organizar tudo. quando estiver funcionando

será que o erro não está na lógica que preenche o array?

não, está funcionando bem. se der um var dumb do array que estou preenchendo vai ficar tudo direito. acho que o problema é pelo form ter 2 botoes. teria como fzer 2 forms ? um para enviar e outro para fazer o JSON ?

bom eu coloquei um valor na array e funcionou

mesmo no seu code

então para mim o problema está na array no js

linha 224, tem 1 console.log, tira o comentario la vai mostrar que está criando direito o array

pois foi exatamente aí q mostrou a array vazia

coloquei ainda outro console na 333 para garantir... continuava vazio... mas chumbando um valor na criação da array... funcionou

se enviar o arquivo texto. ele cria normal, só que quando apertar o botao 'down' ele atualiza a pagina e limpa tudo. por isso acho que esse é o problema.

segue o arquivo txt 0 3 1 0 1 0 0.522 0.11 0.1 0 0.7 1 0.9 0.7 0 0 0 0 0.5 0.7 0.1 0 0.7 1 0.9 0.7 1 1 1 0 0.5 0.7 0.1 0 0.7 1 0.9 0.7 1 0 1 0 0.5 0.7 0.1 0 0.7 1 0.9 0.7

eu tentei com um arquivo com esse conteudo...

o fato é... ele não "limpa tudo"... ele envia o form

a primeira vez que o form é montado o botão fica sem ação devido um "die" na hora de ler o arquivo texto.... assim nem monta o botão no form

tem alguma ideia de como resolver ?

Sobre o arquivo ... tinha q ter quebra de linha entre os numeors... agora funcionou aqui

sim sim, tinha quebra

insira seu código aqui
0
3
1 0 1
0 0.522 0.11 
0.1 0 0.7 
1 0.9 0.7 
0 0 0
0 0.5 0.7
0.1 0 0.7
1 0.9 0.7
1 1 1
0 0.5 0.7
0.1 0 0.7
1 0.9 0.7
1 0 1
0 0.5 0.7
0.1 0 0.7
1 0.9 0.7
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<script type="text/javascript">

var arrayPaginas =[];
function Pagina (qtdTotalRecebida,vetorEstadosRecebida,vetorMatrixRecebida,mapaDeCorRecebida,
                    topologiaRecebida,qtdCamadaRecebida = 0 ,vetorCamadasRecebida = []){


    var saberTotalDeNeuronios = function(qtdTotal){
        return qtdTotalRecebida;
    }

    var passarValoresDoVetor = function(vetorEstados){
        var vetorEstadosValores = [];
         i = 0;
        vetorEstados.forEach(elemento =>{
            vetorEstadosValores[i] = elemento;

            i++;

        });

        return vetorEstadosValores;

    }
    var passarValoresDaMatriz = function(vetorMatrix){
        var matrizEstadosValores = [];
         i = 0;
        vetorMatrix.forEach(elemento =>{
            matrizEstadosValores[i] = parseFloat(elemento);
            i++;
        });
        return matrizEstadosValores;
    }

    var saberMapaEscolhido = function(mapaDeCor){
        return mapaDeCor;
    }

    var saberTopologiaEscolhida = function(topologia){
        return topologia;
    }
    var saberTotalDeCamadas = function(qtdCamada){
        return qtdCamada;
    }

    var passarValoresDasCamadas = function(vetorCamada){
        var vetorCamadas = [];
         i = 0;
        vetorCamada.forEach(elemento =>{
            //console.log(elemento.value);
            vetorCamadas[i] = elemento;
            i++;
        });
        return vetorCamadas;
    }

    var i=0;

    this.qtdNeuro = saberTotalDeNeuronios(qtdTotalRecebida);



    this.vetor = passarValoresDoVetor(vetorEstadosRecebida);
    this.matrix = passarValoresDaMatriz(vetorMatrixRecebida);

    this.mapa = saberMapaEscolhido(mapaDeCorRecebida);
    this.topologia = saberTopologiaEscolhida(topologiaRecebida);

    this.qtdCamadas = saberTotalDeCamadas(qtdCamadaRecebida);
    this.camadas = passarValoresDasCamadas(vetorCamadasRecebida);
    //this.camadas = vetorCamadasRecebida;
}


</script>
<form method="POST" action="ss.php" id="form">
<input type="file" name="fileupload" value="fileupload" id="fileupload">
<input type="hidden" name="name" value="">
<button type="submit" name="button" id="b">enviar</button>
<button type="submit" name="button" id="down">down</button>
</form>
<p id="x"></p>
<?php
/*
while($i <  count($arr1)){

    if($arr1[$i] != ' '){
        $arr2[$i] = $arr1[$i];
    }


    $i++;
}

while($i < count($lines)){

    if(strlen($lines[$i]) == $qtdN +3){

        if($lines[$i] != ' '){

            $arr2[$atual]=str_split($lines[$i]);
            $atual++;
        }

    }


    $i++;
}

*/

function removerEspacos($arrRecebido){

    $arr = array();
    //var_dump($arrRecebido);
    $arr = explode(' ', $arrRecebido);
    return $arr;

}


if(isset($_POST['fileupload'])){
//$nome = $_POST['name'];
$file = $_POST['fileupload'];
//echo $file;
$fileF = fopen($file,"r") or die('aaaaa');

$lines=array();
while(!feof($fileF) ){
    $line=fgets($fileF);

    //process line however you like
    $line=trim($line);

    //add to array
    $lines[]=$line;

}

//var_dump($lines);
$i = 2;
$arr1 =$lines[2];
$arr2 ;
$arr3 ;
$topologia = $lines[0];
$conexao = array();
$qtdN = intval($lines[1]);
$vetorAtivacao = array();
//$conexao = array();
$atual = 2;
while($i < count($lines)){
    // achar logica do vetor e conexao, saber qual é qual
    if( $atual == 2 ){
        //echo $i;
        if($lines[$i] != ' '){

            $arr2= removerEspacos($lines[$i]);

            $string_vetorAtivacao = implode("|", $arr2);
            $atual++;
            //echo $i;
            $i++;

        }

    }else if($atual == 3 ){
        //echo $i;
        $conexao = array();
        for ($k=0; $k < $qtdN; $k++) { 
            $arr3 = removerEspacos($lines[$i]);

            $conexao = array_merge($conexao,$arr3);


            $arr3='';
            $atual=2;
            $i++;
        }
        //var_dump($arr2);
        //var_dump($conexao);
        $string_matrixConexao = implode("|", $conexao);
        ?>
     <script>

         var i, array_vetorAtivacao,array_matrixConexao, string_vetorAtivacao,string_matrixConexao,qntdNRecebida,topologiaRecebida;
         var qtdN,topologia,mapa;
         var vetorAtivacao =[];
         var matrixConexao = [];

         qntdNRecebida = '<?php echo $qtdN; ?>';
         topologiaRecebida = '<?php echo $topologia; ?>';
        string_vetorAtivacao = '<?php echo $string_vetorAtivacao; ?>';
        string_matrixConexao = '<?php echo $string_matrixConexao; ?>';

        qtdN = parseInt(qntdNRecebida);
        topologia =  parseInt(topologiaRecebida);
        mapa = 1;


        array_vetorAtivacao = string_vetorAtivacao.split("|");
        array_matrixConexao = string_matrixConexao.split("|");

        for (i in array_vetorAtivacao){
            vetorAtivacao[i] = parseFloat(array_vetorAtivacao[i]);

        }
        for (i in array_matrixConexao){
            matrixConexao[i] = parseFloat(array_matrixConexao[i]);
        }
        /*console.log(qtdN);
        console.log(mapa);
        console.log(topologia);
        console.log(vetorAtivacao);
        console.log(matrixConexao);*/

        var pag = new Pagina(qtdN,vetorAtivacao,matrixConexao,mapa,topologia);

        arrayPaginas.push(pag);
        console.log(arrayPaginas);
     </script>
    <?php

    }


}



/* ?>
     <script>

         var i, array_produtos,array_produtos2, string_array,string_array2;

        string_array = '<?php echo $string_array; ?>';
        string_array2 = '<?php echo $string_array2; ?>';

        array_produtos = string_array.split("|");
        array_produtos2 = string_array2.split("|");

        console.log(array_produtos);


     </script>
    <?php*/
/*
$string = "1 0 1 0";
echo $string;

$recebe = removerEspacos($string);
var_dump($recebe) ;
*/
/*print_r($arr2);
//echo "<script> var vetor ="+ $arr2 +" </script>";
for ($i=0; $i < count($arr2) ; $i++) { 
     echo $arr2[$i];


}*/
// echo '<script>var utilizador = "'. $arr2 .'";</script>';
/*
$j=0;
while($i <  strlen($arr1)){

    if($arr1[$i] != ' '){
        $arr3[$j] = intval($arr1[$i]);
        $j++;
    }
    //echo $arr2[$i];


    $i++;
}



$i=0;

var_dump($arr3);
//var_dump($arr2);*/

// LOGICA PARA PASSAR O VALOR do PHP para o JS

//echo $string_array;
fclose($fileF);
}
?>
<script>/*
var pag = new Pagina(3,[0,1,0],[0,1,0,1,0,],1,0);
console.log(pag);
*/
/*
//variáveis
//LOGICA PARA RECEBER O VALOR DO PHP PARA O JS
var i, array_produtos,array_produtos2, string_array,string_array2;
//recebe a string com elementos separados, vindos do PHP
string_array = "<?php echo $string_array; ?>";
string_array2 = "<?php echo $string_array2; ?>";
//transforma esta string em um array próprio do Javascript
array_produtos = string_array.split("|");
array_produtos2 = string_array2.split("|");
var x=[],y=[];
var t=0;
//varre o array só pra mostrar que tá tudo ok

for (i in array_produtos){
 x[i] = parseFloat(array_produtos[i]);
 console.log(x[i]);

}
for (i in array_produtos2){
 y[i] = parseFloat(array_produtos2[i]);
 console.log(y[i]);

}


*/
//document.write(x);

var down = document.getElementById('down');
console.log(down)
var x = 2;

down.addEventListener('click',function(e){
    //e.preventDefault();
    var form = document.getElementById('form');
    console.log('aee',arrayPaginas);
    JSON.stringify(arrayPaginas);
    var m = document.createElement("INPUT");
    m.setAttribute("type", "hidden");
    m.setAttribute("name", "arrayEnviado");
    m.setAttribute("value",JSON.stringify(arrayPaginas));
    form.appendChild(m);


});

</script>
<?php 
if(isset($_POST['arrayEnviado'])){
$arrayRecebido = json_decode($_POST['arrayEnviado']);

     # code...

    var_dump($arrayRecebido) ;

}
?>
</body>
</html>

Estranho... coloquei um if para evitar o die antes do upload...

mas o code... só funciona na segunda vez q posta o arquivo

na verdade entendi o motivo ... a array só existe depois que posta o arquivo uma vez

Ah meu arquivo se chama ss.php... vc precisa trocar a chamada do form

Aqui continua do mesmo jeito, usando o codigo que vc mandou

eu mudei o ss.php, mas n muda nada

Retorno do dump

array (size=4)
  0 => 
    object(stdClass)[1]
      public 'qtdNeuro' => int 3
      public 'vetor' => 
        array (size=3)
          0 => int 1
          1 => int 0
          2 => int 1
      public 'matrix' => 
        array (size=9)
          0 => int 0
          1 => float 0.522
          2 => float 0.11
          3 => float 0.1
          4 => int 0
          5 => float 0.7
          6 => int 1
          7 => float 0.9
          8 => float 0.7
      public 'mapa' => int 1
      public 'topologia' => int 0
      public 'qtdCamadas' => int 0
      public 'camadas' => 
        array (size=0)
          empty
  1 => 
    object(stdClass)[2]
      public 'qtdNeuro' => int 3
      public 'vetor' => 
        array (size=3)
          0 => int 0
          1 => int 0
          2 => int 0
      public 'matrix' => 
        array (size=9)
          0 => int 0
          1 => float 0.5
          2 => float 0.7
          3 => float 0.1
          4 => int 0
          5 => float 0.7
          6 => int 1
          7 => float 0.9
          8 => float 0.7
      public 'mapa' => int 1
      public 'topologia' => int 0
      public 'qtdCamadas' => int 0
      public 'camadas' => 
        array (size=0)
          empty
  2 => 
    object(stdClass)[3]
      public 'qtdNeuro' => int 3
      public 'vetor' => 
        array (size=3)
          0 => int 1
          1 => int 1
          2 => int 1
      public 'matrix' => 
        array (size=9)
          0 => int 0
          1 => float 0.5
          2 => float 0.7
          3 => float 0.1
          4 => int 0
          5 => float 0.7
          6 => int 1
          7 => float 0.9
          8 => float 0.7
      public 'mapa' => int 1
      public 'topologia' => int 0
      public 'qtdCamadas' => int 0
      public 'camadas' => 
        array (size=0)
          empty
  3 => 
    object(stdClass)[4]
      public 'qtdNeuro' => int 3
      public 'vetor' => 
        array (size=3)
          0 => int 1
          1 => int 0
          2 => int 1
      public 'matrix' => 
        array (size=9)
          0 => int 0
          1 => float 0.5
          2 => float 0.7
          3 => float 0.1
          4 => int 0
          5 => float 0.7
          6 => int 1
          7 => float 0.9
          8 => float 0.7
      public 'mapa' => int 1
      public 'topologia' => int 0
      public 'qtdCamadas' => int 0
      public 'camadas' => 
        array (size=0)
          empty

Certo... certeza q o problema é "como"

O que você faz? seleciona o arquivo ... e?

comigo não tá dando isso

Certo... certeza q o problema é "como"

O que você faz? seleciona o arquivo ... e?

seleciono o arquivo txt e aperto em enviar, depois eu click no botao de 'down' que seria para enviar o array para o php

legal... use as 2 vezes o botão down

as 2 vezes enviado o arquivo tbm

A lógica q não está legal no todo... ao postar o arquivo poderia fazer toda a lógica em php (afinal vc usa ele para ler o arquivo), e passar o resultado para o JS, se é que vc precisa do resultado no js

hmm, legal, apareceu, mas esse nao seria o comportamento esperado, alguma ideia de alguma solucao ?talvez quando clicar no enviar, ele criar o input no form com o JSON e depois qnd clicar no down ele conseguir capturar ? O q acha ?

O problema é que ao enviar o arquivo pela primeira vez não adianta colocar nada no input, essa informação só vai existir depois do upload do arquivo

vou pensar em algo, tem que ficar "direito" para o usuario. William muito obrigado pela a ajuda e a grande paciência, se tiver também alguma ideia é bem vinda xD boa noite, tenho que acordar cedo amanha. até