Преобразование строки массива JS в массив PHP - PullRequest
1 голос
/ 26 января 2010

У меня есть строка (в PHP), представляющая массив JS, и для целей тестирования я хотел бы преобразовать ее в массив PHP, чтобы передать их в модульный тест. Вот пример строки

{ name: 'unique_name',fof: -1,range: '1',aoe: ',0,0,fp: '99,desc: 'testing ability,image: 'dummy.jpg'}

Я мог бы использовать разрыв на ",", затем на двоеточии, но это довольно не элегантно. Есть ли лучший способ?

Ответы [ 3 ]

4 голосов
/ 26 января 2010
$php_object = json_decode($javascript_array_string)

Это вернет объект со свойствами, соответствующими свойствам массива javascript. Если вы хотите ассоциативный массив, передайте true в качестве второго параметра в json_decode

$php_array = json_decode($javascript_array_string, true)

Существует также функция json_encode для перехода в другую сторону.

1 голос
/ 26 января 2010

Вы ищете json_decode () .

0 голосов
/ 26 января 2010

json_decode

<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

var_dump(json_decode($json));
var_dump(json_decode($json, true));

?> 

Приведенный выше пример выдаст:

object(stdClass)#1 (5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

array(5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...