PHP group array возвращает объект instate массива [duplicate]

Используйте scanf(" %c", &c2);. Это решит вашу проблему.

48
задан Michael Berkowski 30 July 2012 в 13:56
поделиться

5 ответов

Если ключи массива в вашем массиве PHP не являются последовательными числами, json_encode() должны сделать другой объект конструкцией, так как массивы JavaScript всегда последовательно индексируются по цифре. Используйте array_values() внешнюю структуру PHP, чтобы отменить исходные ключи массива и заменить их нулевой последовательной нумерацией:

Пример:

// Non-consecutive number keys are OK for PHP
// but not for a JavaScript array
$array = array(
  2 => array("Afghanistan",32,13),
  4 => array("Albania",32,12)
);

// array_values() removes the original keys and replaces
// with plain consecutive numbers
$out = array_values($array);
json_encode($out);
// [["Afghanistan",32,13],["Albania",32,12]]
120
ответ дан Michael Berkowski 3 September 2018 в 13:28
поделиться
Функция

json_encode () поможет вам закодировать массив на JSON в php.

, если вы будете использовать только функцию json_encode напрямую без какой-либо конкретной опции, она вернет массив. Как упоминается выше вопрос

$array = array(
  2 => array("Afghanistan",32,13),
  4 => array("Albania",32,12)
);
$out = array_values($array);
json_encode($out);
// [["Afghanistan",32,13],["Albania",32,12]]

Поскольку вы пытаетесь преобразовать Array в JSON, тогда я бы предложил использовать JSON_FORCE_OBJECT в качестве дополнительной опции (параметров) в json_encode, как ниже

<?php
$array=['apple','orange','banana','strawberry'];
echo json_encode($array, JSON_FORCE_OBJECT);
// {"0":"apple","1":"orange","2":"banana","3":"strawberry"} 
?>
2
ответ дан Dinesh Gopal Chand 3 September 2018 в 13:28
поделиться

Я хочу добавить к ответу Майкла Берковски, что это также может произойти, если порядок массива будет отменен, и в этом случае немного сложнее наблюдать эту проблему, потому что в объекте json порядок будет упорядочен по возрастанию.

Например:

[
    3 => 'a',
    2 => 'b',
    1 => 'c',
    0 => 'd'
]

Вернет:

{
    0: 'd',
    1: 'c',
    2: 'b',
    3: 'a'
}

Таким образом, решение в этом случае должно использовать array_reverse перед его кодировкой json

4
ответ дан Hassaan 3 September 2018 в 13:28
поделиться

Общее использование JSON - это чтение данных с веб-сервера и отображение данных на веб-странице.

В этой главе рассказывается, как обмениваться данными JSON между клиентом и сервером PHP .

PHP имеет некоторые встроенные функции для обработки JSON.

Объекты в PHP могут быть преобразованы в JSON с помощью функции PHP json_encode ():

<?php
$myObj->name = "John";
$myObj->age = 30;
$myObj->city = "New York";

$myJSON = json_encode($myObj);

echo $myJSON;
?>

0
ответ дан L VEERAPANDI BCA 3 September 2018 в 13:28
поделиться

Если вы не укажете индексы в своем начальном массиве, вы получите регулярные числовые. Массивы должны иметь какой-то уникальный индекс

0
ответ дан Ray 3 September 2018 в 13:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: