2010-01-26 4 views
1

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

снабжать струной, тетивой и т.п.
{ name: 'unique_name',fof: -1,range: '1',aoe: ',0,0,fp: '99,desc: 'testing ability,image: 'dummy.jpg'} 

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

ответ

4
$php_object = json_decode($javascript_array_string) 

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

$php_array = json_decode($javascript_array_string, true) 

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

0

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) 
} 
Смежные вопросы