Установка значений фильтра из ввода HTML в API Marketo с переполнением стека

Я пытаюсь передать текстовые строки в массив, чтобы их можно было использовать в качестве filterValue в REST API Marketo через PHP.

Пользователи отправляют свои формы, перечисляя каждый элемент в каждой строке. Это входит в массив. Я могу успешно преобразовать это в массив. Например, если форма HTML была заполнена

item1
item2
item3

и я print_r () вывод, это выглядит так:

Array ( [0] => item1 [1] => item2 [2] => item3 )

Так что, кажется, работает. Допустим, я сохранил это как $ output. Однако, если я передаю $ output в $ приводит-> filterValues, это не работает. Я попытался просто сделать массив и передать его напрямую или вызвать функцию следующим образом:

$leads->filterValues = $output;

или же

$leads->filterValues = setValues();

Ни то, ни другое не работает, и вызов API не проходит. Тем не менее, если я жестко закодирую эти элементы так

$leads->filterValues = array("item1", "item2", "item3");

Тогда все работает отлично, и вызов API проходит с этими значениями. Что тут происходит? Есть ли способ, которым я могу передать входные данные и установить их в массив filterValues?

0

Решение

Оказывается, при использовании var_dump () в URL-адресе данных из формы было больше символов, чем в URL-адресе жестко закодированных данных, несмотря на то, что он идентичен. использование

        $url = preg_replace('/\s+/', ' ', $url);

перед curl_init ($ url), чтобы очистить его от скрытых символов.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]