Повторение данных JSON в php

Я пытаюсь повторить некоторые данные JSON. Проблема состоит в том, что данные содержат переменные, но мой код не помещает переменные в строку. Вот мой код:

$status = $row['Status']; $priority = $row['Priority']; echo '{"status":"$status","priority":"$priority"}' ; 

этот php эхом

 {"status":"$status","priority":"$priority"} 

когда мне нужно эхо

 {"status":"Completed","priority":"High"} 

например. Как я могу это исправить?

Просто используйте функцию json_encode

 echo json_encode($row); 
 json_encode($row) 

Вы получите желаемый результат.

Проблема здесь в том, что PHP не заменяет переменные в одинарных кавычках, только в двойных кавычках (см. http://php.net/manual/en/language.types.string.php#language.types.string.syntax.double ) ,

Например:

 $test = "a"; echo 'This is $test test and'.chr(10); echo "this is $test test.".chr(10); /* Creates the following output: This is $test test and this is a test. */ 

Примечание: chr(10) создает новую строку.

И решение вашей проблемы заключается в использовании json_encode() и json_decode() как уже предполагали другие люди. http://php.net/manual/en/function.json-encode.php

Проблема заключается в ваших одиночных кавычках, PHP получает все vars внутри как строки, поэтому разбивайте строку следующим образом:

 echo '{"status":"'.$status.'","priority":"'.$priority.'"}' ; 

Кроме того, вы можете использовать json_encode() чтобы не создавать свой JSON-объект вручную.