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

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

Javascript AJAX вызова:

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; } }); 

Вар дамп на принимающей стороне с PHP

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

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

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

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

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

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