使用内爆从数组输出编号列表?
Using implode to output numbered list from array?
几个小时以来,我一直在努力解决这个问题,但作为一个 PHP 新手,我正在努力解决这个问题。
我正在尝试将多个(编号的)商品传递给亚马逊 API。我的数组 ($asins) 充满了我需要的所有字符串。
这是我的数组:
$asins = array('STRING_1', 'STRING_2', 'STRING_3');
我需要输出如下格式:
ASINList.ASIN.1=STRING_1&ASINList.ASIN.2=STRING_2&ASINList.ASIN.3=STRING_3
数组将始终包含 25 个这样的字符串。
我意识到这可能非常简单,但如有任何提示,我们将不胜感激。我喜欢学习!
PHP implode 用于简单数组 (1, 2, 3...) 但你的是一个复杂数组 (f1 = v1, f2 = v2),所以使用 for 循环来控制字符串如何生成,例如:
$output = "";
for ($i = 0; $i < count($array); $i++) {
$output .= "ASINList.ASIN.$i" . "=" . $array[$i] . "&";
}
echo $output;
这段代码应该可以做到。
数组键始终从“0”开始。在你的情况下,你需要 '1'
$array = array('STRING_1', 'STRING_2', 'STRING_3');
$URLparameters = array();
foreach( $array as $key => $value ){
$newkey = $key + 1;
$URLparameters[] = "ASINList.ASIN.".$newkey."=".$value;
}
$result = implode("&", $URLparameters);
[编辑] 基于 Emiliano Sangoi 的想法
$a = array('ASINList.ASIN.1', 'ASINList.ASIN.2', 'ASINList.ASIN.3');
$b = array('STRING_1', 'STRING_2', 'STRING_3');
$c = array_combine($a, $b);
echo http_build_query($c);
如果您按照以下方式保持论点:
$asins = array(
"ASINList.ASIN.1" => 'STRING_1',
"ASINList.ASIN.2" => 'STRING_2',
"ASINList.ASIN.3" => 'STRING_3'
);
您唯一需要做的是:
echo http_build_query($asins);
几个小时以来,我一直在努力解决这个问题,但作为一个 PHP 新手,我正在努力解决这个问题。
我正在尝试将多个(编号的)商品传递给亚马逊 API。我的数组 ($asins) 充满了我需要的所有字符串。
这是我的数组:
$asins = array('STRING_1', 'STRING_2', 'STRING_3');
我需要输出如下格式:
ASINList.ASIN.1=STRING_1&ASINList.ASIN.2=STRING_2&ASINList.ASIN.3=STRING_3
数组将始终包含 25 个这样的字符串。
我意识到这可能非常简单,但如有任何提示,我们将不胜感激。我喜欢学习!
PHP implode 用于简单数组 (1, 2, 3...) 但你的是一个复杂数组 (f1 = v1, f2 = v2),所以使用 for 循环来控制字符串如何生成,例如:
$output = "";
for ($i = 0; $i < count($array); $i++) {
$output .= "ASINList.ASIN.$i" . "=" . $array[$i] . "&";
}
echo $output;
这段代码应该可以做到。 数组键始终从“0”开始。在你的情况下,你需要 '1'
$array = array('STRING_1', 'STRING_2', 'STRING_3');
$URLparameters = array();
foreach( $array as $key => $value ){
$newkey = $key + 1;
$URLparameters[] = "ASINList.ASIN.".$newkey."=".$value;
}
$result = implode("&", $URLparameters);
[编辑] 基于 Emiliano Sangoi 的想法
$a = array('ASINList.ASIN.1', 'ASINList.ASIN.2', 'ASINList.ASIN.3');
$b = array('STRING_1', 'STRING_2', 'STRING_3');
$c = array_combine($a, $b);
echo http_build_query($c);
如果您按照以下方式保持论点:
$asins = array(
"ASINList.ASIN.1" => 'STRING_1',
"ASINList.ASIN.2" => 'STRING_2',
"ASINList.ASIN.3" => 'STRING_3'
);
您唯一需要做的是:
echo http_build_query($asins);