Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bem, basicamente o é essa pergunta mesmo.
Eu estava debatendo com meu colega de programação qual seria o melhor uso:
json_encode ou serialize?
Tenho mais ou menos uma opinião formada, mas sempre podemos aprender mais.
Alguns pontos:
// Aqui vão alguns testes //$data = new stdClass;$data->forum = 'Imasters';$data_json = json_encode($data);$data_serial = serialize($data);// Segundo parâmetro por padrão é "false" e faz com que seja retornado um "object" //var_dump(json_decode($data_json));//object(stdClass)#1 (1) { ["forum"]=> string(8) "Imasters" } // Faz retornar um array //var_dump(json_decode($data_json,true));//array(1) { ["forum"]=> string(8) "Imasters" } // Retorna o "$data" original.var_dump(unserialize($data_serial));//object(stdClass)#2 (1) { ["forum"]=> string(8) "Imasters" }
Gostaria de ouvir opiniões sobe esse assunto.
Qual seria o mais recomendável?
Mais alguém?
Qual o propósito?
Use um martelo para martelar e uma chave de fenda para parafusar.
Não conheço nenhuma aplicabilidade prática para serialização de strings, inteiros, floats... Se você tiver um array que precise ser armazenada "as is" e você tem plena certeza de que não existe forma melhor de fazer o que precisa que não armazenando ele inteiro, serialize.
O mesmo vale para objetos, apesar de parecer uma má prática, ainda não estou plenamente convencido.
Agora se o objetivo é trafegar dados entre uma linguagem e outra, prefira JSON que independente da linguagem escolhida.
Depende mano
Na minha opine.
json_encode tem um pequeno desempenho superior ao serialize, bem pequeno kkkk!
com json há mais facilidade de vc interagir com javascript etc..