2013-04-05 2 views
-1

что различные междуPHP: отличается от массива() и {}

Array 
    (
     [user_id] => 1 
     [username] => user 
     [first_name] => hello 
     [last_name] => world 
    ) 

и

{ 
    user_id: "1", 
    username:"user", 
    first_name:"hello", 
    last_name:"world" 
} 

? и как их преобразовать в php?

Edit: добавить детали

На самом деле я использую Redis zunionstore и zrevrange для объединения пользовательских данных. Результат возвращается мне что-то вроде:

Array 
(
    [0] =>{"user_id":"1","username":"user","first_name:hello","last_name:world"} 
    [1] => ... 
) 

Поскольку я должен обрабатывать данные, я хочу что-то вроде этого:

Array 
(
    [0] => Array 
     (
      [user_id] => 1 
      [username] => user 
      [first_name] => hello 
      [last_name] => world 
     ) 
... 
) 

Так есть ли простой способ преобразовать его вместо того, чтобы использовать цикл для json_decode каждый элемент? Thx

+0

один массив, другой JSON –

+1

конвертировать их к чему? –

+0

спросите свой реальный вопрос - без контекста, это бессмысленно –

ответ

4

Первая строка - это вывод функции print_r. Пример:

$array=array('key'=>'value'); 
print_r($array); 

Выходы:

Array 
(
    [key] => value 
) 

Ваша вторая является JSON-как, альт ему не хватает двойных кавычек для ключей.
Вы не можете конвертировать их напрямую.

Вы можете преобразовать JSON в массив PHP с json_decode, если ваша вторая строка была что-то вроде этого:

{ 
    "user_id": "1", 
    "username":"user" 
    ... 
} 
2

Первый из них, как указано в PHP и второй один является массив JavaScript.

Для преобразования массива в JSON используйте json_encode();


Чтобы преобразовать массив JavaScript в текст JSON, а затем в массив PHP (ассоциативный); используйте JSON.stringify() и json_decode().


Для вашей задачи, лучше всего было бы array_walk функция:

array_walk("json_decode", $MyArry); 
+5

Нет, это не JSON. Ключи должны быть строками в JSON. –

+0

Ключи должны быть указаны с '' 'как json. – Musa

+1

Первый из них не PHP. Это результат' print_r'. Он не будет анализировать PHP ... – ircmaxell

Смежные вопросы