Qual é o melhor método para converter uma matriz PHP em uma string?
Eu tenho a variável $type
que é uma matriz de tipos.
$type = $_POST[type];
Quero armazená-lo como uma única sequência no meu banco de dados, com cada entrada separada por |
:
Esportes | Festivais | Outros
Respostas:
Basta usar implode
fonte
$_POST
se você estiver usando entradas de formulário nomeadas por matriz.Você pode usar json_encode ()
Mais tarde, use json_decode () para decodificar a string do seu banco de dados. Qualquer outra coisa é inútil, o JSON mantém intacto o relacionamento do array para uso posterior!
fonte
POR QUE JSON: Você pode usá-lo com a maioria das linguagens de programação, a string criada pela função serialize () do php é legível apenas no PHP e você não gostaria de armazenar essas coisas em seus bancos de dados, especialmente se o banco de dados for compartilhado entre aplicativos escritos em diferentes linguagens de programação
fonte
Não, você não deseja armazená-lo como uma única sequência no seu banco de dados.
Você pode usar,
serialize()
mas isso tornará seus dados mais difíceis de pesquisar, mais difíceis de trabalhar e desperdiçará espaço.Você também pode fazer outra codificação, mas geralmente é propenso ao mesmo problema.
Todo o motivo de você ter um banco de dados é poder realizar um trabalho como esse trivialmente. Você não precisa de uma tabela para armazenar matrizes, precisa de uma tabela que possa representar como uma matriz.
Exemplo:
Você simplesmente selecionaria os dados da tabela com SQL, em vez de ter uma tabela parecida com:
Não é assim que alguém projeta um esquema em um banco de dados relacional, mas derrota totalmente seu objetivo.
fonte
''
vez de\'
?Uma das melhores maneiras:
fonte
json_decode
mexe com o formato causando confusão.implode () :
No entanto, o Incognito está certo, você provavelmente não deseja armazená-lo dessa maneira - é um desperdício total do poder relacional do seu banco de dados.
Se você estiver com uma série de serializações, considere também o uso de json_encode ()
fonte
Este economiza CHAVES E VALORES
Espero que ajude alguém.
fonte
agora você pode inserir esse valor $ string_array no banco de dados
fonte
Para matrizes associativas de loja, você pode usar
serialize
:E carregue usando
unserialize
:Mas se for necessário criar
.php
arquivos dinâmicos com array (por exemplo, arquivos de configuração), você pode usarvar_export(..., true);
, assim:Salvar no arquivo:
Obtenha valores de matriz:
fonte
Você pode usar a função de string PHP
implode()
Gostar,
Se, por exemplo,
$sports='football';
$festival='janmastami';
$food='biriyani';
Então a saída seria:
football|janmastami|biriyani
Para mais detalhes sobre a função implode () do PHP, consulte w3schools
fonte
existem muitos caminhos ,
duas melhores maneiras para isso são
fonte