我正在尝试将多维数组转换为具有特定格式的字符串。
function convert_multi_array($array) {
foreach($array as $value) {
if(count($value) > 1) {
$array = implode("~", $value);
}
$array = implode("&", $value);
}
print_r($array);
}
$arr = array(array("blue", "red", "green"), array("one", "three", "twenty"));
convert_multi_array($arr);
应该输出: blue~red~green&one~three~twenty
…等等更多的子阵列。
我只想说,我无法生成任何与我想要的结果相差甚远的代码。两个小时后,这几乎是我能得到的最好的。我不知道为什么内爆的行为与它们通常对弦的行为不同,或者也许我只是没有正确看待这一点。您可以对数组值使用 implode 吗?
原文由 user1631995 发布,翻译遵循 CC BY-SA 4.0 许可协议
您正在覆盖
$array
,其中包含原始数组。但是在foreach
的副本$array
正在处理中,所以你基本上只是分配一个新变量。您应该做的是遍历子数组并将它们“转换”为字符串,然后分解结果。