Como posso converter uma matriz PHP em um formato como este
Array
(
[0] => 001-1234567
[1] => 1234567
[2] => 12345678
[3] => 12345678
[4] => 12345678
[5] => AP1W3242
[6] => AP7X1234
[7] => AS1234
[8] => MH9Z2324
[9] => MX1234
[10] => TN1A3242
[11] => ZZ1234
)
para uma matriz Javascript no formato abaixo?
var cities = [
"Aberdeen",
"Ada",
"Adamsville",
"Addyston",
"Adelphi",
"Adena",
"Adrian",
"Akron",
"Albany"
];
php
javascript
arrays
user663878
fonte
fonte
script
tag que a criará, ou está tentando criar JSON para enviar de volta em resposta a uma solicitação ajax, ou ... (Além disso, vale a pena conferir o como formatar caixa no lado direito quando você está pedindo a sua pergunta, e a página vinculada a partir da [?] logo acima da área a questão.)Respostas:
A resposta de Spudley está bem .
Se você não possui o PHP 5.2, pode usar algo como isto:
fonte
Vou assumir que as duas matrizes que você forneceu para PHP e JS não estão relacionadas, e são apenas exemplos de como as matrizes ficam nas duas linguagens. Claramente, você não poderá converter essas seqüências de letras e números nesses nomes de cidades.
PHP fornece uma função para converter matrizes PHP em código Javascript:
json_encode()
. (tecnicamente, é o formato JSON; JSON significa JavaScript Object Notation)Use-o assim:
Consulte também a página do manual que eu vinculei acima para obter mais informações.
Observe que ele
json_encode()
está disponível apenas no PHP 5.2 e superior; portanto, se você estiver usando uma versão mais antiga, precisará usar uma já existente - a página de manual do PHP também inclui comentários com funções escritas por pessoas que precisam dela. (mas dito isso, se você estiver usando algo mais antigo que o PHP 5.2, atualize o mais rápido possível)fonte
console.log('stuff: ' + javascript_array[0]);
, mas ele diz quejavascript_array
não foi definidojson_encode
gera uma string JSON, que pode representar um objeto JS ou uma matriz JS, ou mesmo um único valor escalar, se é isso que você passa. Os exemplos na minha resposta produzirão uma matriz JavaScript, não um objeto.Burro e simples:
fonte
Você não precisa chamar parseJSON, pois a saída de
json_encode
é um literal javascript. Apenas atribua a uma variável js.fonte
você pode converter matrizes php em javascript usando a
json_encode
função phpfonte
console.log()
mas a pergunta em si é muito básica (e muitos usuários não têm experiência com a ferramenta de inspeção de código do navegador), então decidi usar o alert (), pois o usuário a verá diretamente. não é a parte em questão da questão, apenas uma maneira de verificar se a lógica funciona ou não.Acho que a maneira mais rápida e fácil de trabalhar com uma matriz PHP em Javascript é fazer isso:
PHP:
Javascript:
fonte
tão simples ...!
use este método:
no laravel blade {{}} use este método:
trabalhando para matriz associada e não associada.
fonte
você também pode fazer dessa maneira
fonte
É muito simples eu uso desta maneira:
JAVASCRIPT :
Converter array PHP em Javascript
Saudações!
fonte
Para uma matriz multidimensional no PHP4, você pode usar a seguinte adição ao código postado pelo Udo G:
fonte
Esta é a minha função. O JavaScript deve estar no PHP, caso contrário, use SESSION.
A última linha pode ser .... text (jsArray); e será mostrado "1,2,3,4,5,6"
fonte
Eu uso um array php falso
se alguma vez sua matriz for desconhecida (já criada)
fonte
Isso pode ser feito de maneira mais segura.
Se sua matriz PHP contiver caracteres especiais, você precisará usar rawurlencode () no PHP e, em seguida, usar decodeURIComponent () em JS para escapar deles. E analise o JSON para js nativos. Tente o seguinte:
fonte
Eu tive o mesmo problema e foi assim que o fiz.
Espero que ajude.
fonte
Mantenha simples :
fonte
Se você precisar que uma matriz PHP multidimensional seja impressa diretamente no código-fonte da página html, e de maneira recortada por Notação de Objeto Javascript legível por humanos (também conhecida como JSON), use esta boa função que encontrei em http://php.net/manual /en/function.json-encode.php#102091 codificado por alguém apelidado de "bohwaz".
fonte
Abaixo está um truque bastante simples para converter a matriz PHP em matriz JavaScript:
JS abaixo:
Ele funciona como um encanto.
fonte