PHP - Создать массив с номером в строку - PullRequest
0 голосов
/ 25 мая 2018

У меня есть этот метод для создания простого json в php

$array = array_merge($array, array($cf => $nome));  
echo json_encode( $array );     

И он работает только в том случае, если cf не число, например:

$cf = "12345";
$nome = "ASDS";

результат:

["ASDS"]

Но если я изменю cf в "AS123", результат будет:

{AS123:ASDS}

Полный код:

while ( $row = mysqli_fetch_assoc( $query ) ) {
        $cf = $row[ "cf" ];
        $nome = $row[ 'nome' ];
        $array = array_merge($array, array($cf => $nome));  
    }
    echo json_encode( $array ); 

Теперь мне нужно преобразовать это cf и nome в строке, потому что у меня есть некоторые проблемы с числом и пробелом, я не могу изменить структуру json, потому что это API какого-то приложения.

Я думаю, что конечный результат должен быть с такими кавычками:

{"AS123":"ASDS"}

1 Ответ

0 голосов
/ 25 мая 2018

Я не думаю, что вам нужно array_merge, вы можете просто сделать что-то вроде:

$array = array();

while ( $row = mysqli_fetch_assoc( $query ) ) {
        $cf = $row[ "cf" ];
        $nome = $row[ 'nome' ];
        $array[$cf] = $nome;  
}

echo json_encode( $array ); 

Это приведет к:

{"12345":"ASDS"} 
...