Длина строки добавляется перед строкой при использовании JSON в PHP - PullRequest
0 голосов
/ 02 июля 2019

Когда я вызываю файл PHP с помощью Ajax и передаю переменную POST со словарем javascript, значение этой переменной POST анализируется в словаре PHP.Однако длина значений String добавляется к String.То же самое верно для массива.Почему это так и как я могу обойти это?(При сравнении строк PHP думает, что строка (x) является частью строки)

РЕДАКТИРОВАТЬ: сравнение строк по-прежнему работает, я все же хотел бы знать, почему это добавляется.РЕДАКТИРОВАТЬ 2: Я нашел ответ, это на самом деле часть var_dump ..

Ajax-вызов Javascript:

var res = $.ajax({
  type: "POST",
    data: {
      name:"STRING NAME",
      validators:{KEY: "VALUE", KEY2: "VALUE2"}
    },
  url: url,
  dataType: "json",
  async: false,
  success: function(data) {
    result=data;
  }
});

Дамп Var на принимающей стороне с PHP

array(2) {
  ["KEY"]=>
  string(5) "VALUE"
  ["KEY2"]=>
  string(6) "VALUE2"
}

Ответы [ 2 ]

1 голос
/ 02 июля 2019

В вашем примере:

array(2) {
    ["KEY"]=>
    string(5) "VALUE"
    ["KEY2"]=>
    string(6) "VALUE2"
}

вы видите 'string (5) "VALUE"', потому что вы печатаете через функцию var_dump ().

Вы должны использовать функцию print_r ()скрыть тип данных.

0 голосов
/ 02 июля 2019

Ну, как оказалось, это явление является частью var_dump.Так что не о чем беспокоиться.

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