Как мне получить из массива JS через JSON в массив PHP? (Я по крайней мере на полпути) - PullRequest
1 голос
/ 10 мая 2010

У меня есть массив JS, который я конвертирую в JSON

JS

 mycode[0][0]=true
 mycode[0][1]="element1"
 mycode[0][2]=400
 mycode[0][3]=150
 mycode[0][4]=148
 mycode[0][5]=148

превратился в JSON:

[
    [
        true,
        "element1",
        400,
        150,
        148,
        148
    ]

]

Теперь я нажимаю на PHP

PHP код:

$decoded = json_decode($_GET["q"]);

$response=$q[0];

echo $response;

и выводит букву или символ, поскольку JSON был строкой.

Если я использую $ decoded [0] [0] или $ decoded [0] вместо $ q [0], я ничего не получу ...

Что я на самом деле делаю неправильно?

Что я хочу? Мне нужно иметь тот же массив, что и в JS, только в PHP (позже этот массив будет использоваться в функции PHP)

Ответы [ 3 ]

4 голосов
/ 10 мая 2010

Код:

<?php
$json = '[[ true,"element1",400,150,148,148 ]]';
$dec = json_decode($json);
var_dump($dec);
?>

Выход:

array(1) {
  [0]=>
  array(6) {
    [0]=>
    bool(true)
    [1]=>
    string(8) "element1"
    [2]=>
    int(400)
    [3]=>
    int(150)
    [4]=>
    int(148)
    [5]=>
    int(148)
  }
}

Хорошо работает здесь. Ваша проблема должна быть где-то еще.

$ php -v
PHP 5.3.2 (cli) (built: Apr 27 2010 17:55:48) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
0 голосов
/ 10 мая 2010

Извините, но, на мой взгляд, вам нужно прочитать намного больше о трех вещах, которые вы хотите использовать, особенно AJAX и JSON

0 голосов
/ 10 мая 2010

Как вы продвигаете свой JSON в код PHP. Когда вы передаете свой JSON в бэкэнд PHP, вы должны использовать библиотеку, такую ​​как json2.js для кодирования содержимого:

var myJSONText = JSON.stringify(myObject, replacer);

Вам также может понадобиться кодировать URL-адрес JSON, если вы передаете его с помощью GET.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...