在 PHP 中传递逗号分隔的字符串值
Pass Comma separated string values in PHP
我有一串逗号分隔的值,就像这样 -
$items = array();
foreach($_POST['check_list'] as $check) {
$items[] = $check;
}
$options = implode(', ' , $items);
$ch = curl_init();
$data_json = json_encode(array(
"configuration"=> [
"vehicleOptionIds"=> [$options]
],
"mileage"=> 85300,
));
当我通过它粘贴实际值时,它起作用了,但是当我使用 $options 变量传递它时出现了问题。 API 确实接受了一个与我原来的想法相反的字符串。
如果您需要整数,则必须将它们保存在数组中,而不是将其转换为字符串。调用 intval()
将字符串转换为整数。
$items = array();
foreach($_POST['check_list'] as $check) {
$items[] = intval($check);
}
或者更简单地说:
$items = array_map('intval', $_POST['check_list']);
然后将$items
传递给API。
$data_json = json_encode(array(
"configuration"=> [
"vehicleOptionIds"=> $items
],
"mileage"=> 85300,
));
此 JSON 将包含:
"vehiclOptionIds": [1, 2, 3, 4]
当您使用 JSON 时,不要将其视为字符串。只需在布局中创建所需的数据结构,json_encode()
就会进行适当的转换。
我有一串逗号分隔的值,就像这样 -
$items = array();
foreach($_POST['check_list'] as $check) {
$items[] = $check;
}
$options = implode(', ' , $items);
$ch = curl_init();
$data_json = json_encode(array(
"configuration"=> [
"vehicleOptionIds"=> [$options]
],
"mileage"=> 85300,
));
当我通过它粘贴实际值时,它起作用了,但是当我使用 $options 变量传递它时出现了问题。 API 确实接受了一个与我原来的想法相反的字符串。
如果您需要整数,则必须将它们保存在数组中,而不是将其转换为字符串。调用 intval()
将字符串转换为整数。
$items = array();
foreach($_POST['check_list'] as $check) {
$items[] = intval($check);
}
或者更简单地说:
$items = array_map('intval', $_POST['check_list']);
然后将$items
传递给API。
$data_json = json_encode(array(
"configuration"=> [
"vehicleOptionIds"=> $items
],
"mileage"=> 85300,
));
此 JSON 将包含:
"vehiclOptionIds": [1, 2, 3, 4]
当您使用 JSON 时,不要将其视为字符串。只需在布局中创建所需的数据结构,json_encode()
就会进行适当的转换。