Php 使用内爆从数组中输出编号列表?
我已经花了几个小时试图弄明白这一点,但作为一名PHP新手,我正努力想办法解决这个问题 我试图将多个编号的项目传递给AmazonAPI。我的数组$asins充满了我需要的所有刺 这是我的阵列:Php 使用内爆从数组中输出编号列表?,php,arrays,implode,Php,Arrays,Implode,我已经花了几个小时试图弄明白这一点,但作为一名PHP新手,我正努力想办法解决这个问题 我试图将多个编号的项目传递给AmazonAPI。我的数组$asins充满了我需要的所有刺 这是我的阵列: $asins = array('STRING_1', 'STRING_2', 'STRING_3'); 我需要以以下格式输出: ASINList.ASIN.1=STRING_1&ASINList.ASIN.2=STRING_2&ASINList.ASIN.3=STRING_3 数组将始终
$asins = array('STRING_1', 'STRING_2', 'STRING_3');
我需要以以下格式输出:
ASINList.ASIN.1=STRING_1&ASINList.ASIN.2=STRING_2&ASINList.ASIN.3=STRING_3
数组将始终包含这些字符串中的25个
我意识到这可能是难以置信的简单,但任何提示都将不胜感激。我喜欢学习 用于简单数组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);
请向我们显示您的阵列+您当前的代码张贴您的尝试。到目前为止,您尝试过的代码的结果是:ASINList.ASIN.0=STRING_1&ASINList.ASIN.1=STRING_2&ASINList.ASIN.2=STRING_3&因为数组键,它在末尾添加了一个额外的“&”。谢谢你也解释了答案。。。我可以看出这背后的逻辑: