@semki096

Как получить строку ключ-значение из массива PHP?

Есть массив
Array
(
    [0] => 31
    [1] => 5
    [2] => 6
    [3] => 4
)

перевожу в строку
json_encode($a)
Получаю результат:
[31,5,6,4]
Вопрос - как мне получить такой результат:
{"1":31, "2":5, "3":6, "4":4}
  • Вопрос задан
  • 720 просмотров
Решения вопроса 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
как мне получить такой результат
Увеличить все ключи на единицу. Если в ассоциативном массиве есть ключ 0, этот массив конвертируется в json именно как массив, а не как объект.

Например, можно использовать вот такой код:
$a = [31, 5, 6, 4];

for ($index = count($a); $index > 0; $index--) {
	$a[$index] = $a[$index - 1];
	unset($a[$index - 1]);
}

ksort($a);

Разумеется, он применим только для обычных массивов - индексация с нуля без пропусков.
Ответ написан
Комментировать
qonand
@qonand
Software Engineer
просто задайте опцию JSON_FORCE_OBJECT для json_encode , что бы результат приводился к объекту
json_encode($a, JSON_FORCE_OBJECT);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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