srnalim 21 Denunciar post Postado Outubro 5, 2016 Bom pessoal quebrando a cabeça aqui, e não querendo acreditar que vou ter que fazer gambi, pois o que to imaginando fazer pra que isso funcione nada me tira da cabeça que é gambiarra pois vai dar um pouquinho bom de código pra fazer uma coisa que a linguagem faz, enfim tenho o seguinte array array( "numero" => 1, "telefone" => 3434, "nome" => sr nalim) Blz agora eu faço o seguinte: foreach(array as $keyArray => $value){ $array[] = $keyArray."=".$value; } ele me retorna um novo array array([0]=>numero=1,[1]=>telefone=3434,[2]nome=sr nalim) só que eu quero pegar aquele $value dentro do foreach e verificar se ele é inteiro ou string dando um gettype($value) ele me diz que todos valores são strings. Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Outubro 5, 2016 Acho que o problema é muito mais a tua estrutura de dados (que o array parece vir de um SGBD) do que o PHP em si. Veja só: <?php $array = ["numero" => 1 , "telefone" => 3434 , "nome" => "sr nalim"]; foreach($array as $value) { printf("Variável (%s) %s \n" , gettype($value) , $value); } Saída: Variável (integer) 1Variável (integer) 3434Variável (string) sr nalim Não há problema algum com a função gettype. Mas veja que o valor, no seu array, "sr nalim" está sem apóstrofos, o que é impossível pois deve ser uma string. O que garante que os demais também não sejam basicamente strings? Compartilhar este post Link para o post Compartilhar em outros sites
srnalim 21 Denunciar post Postado Outubro 5, 2016 Postei um pouco incompleto eu acho... Bom o array é montado de uma query string, essa parte que mostrei já é uma parte meia que tratada, a string vem assim numero=1&telefone=4343&nome=sr+nalim&codigo= Assim eu pego e dou um explode("&",$queryString) assim tenho array([0] => numero=1,[1] => telefone=3434, [2] nome=sr+nalim, [3] => codigo=) eu vou tratar esse valor mais uma vez, montando um novo array, pois esse citado irá remover os parâmetros vazios na query string com array_filter, ficando igual ao da primeira forma que postei me fazendo chegar e esse erro. Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Outubro 5, 2016 Como o nome sugere "query string" são strings. Melhor que explode é utilizar o que o PHP dispõe: parse_str() ou parse_url(). Nesses casos, o que você pode fazer é validar e converter com is_numeric, ele vai fazer o cast type automaticamente para validar se a string é totalmente numérica. Compartilhar este post Link para o post Compartilhar em outros sites
srnalim 21 Denunciar post Postado Outubro 6, 2016 Muito bom, dei uma olhadas nas funções is_numeric funciona legal, acabei usando o ctype_digit e ficou legalzinho o filtro funcionando legal :) grato pela prontificação em ajudar, acabou que limpei bastante o código deixando ele menor pelas dicas... Compartilhar este post Link para o post Compartilhar em outros sites