0

我有以下奇怪的问题,我无法解决,我的循环返回一次唯一的部分,但是我在两个循环之前填充数组的两个部分,被用于每个循环。希望您能够帮助我。

$aBuild = array();
$part1 = "Test 1";
$part2 = "Test 2";  
$aBuild = array(1=> $part1, 2 => $part2);

然后我有一个 foreach 循环从数据库中获取数据,在同一个循环中我这样做:

$aBuild[$iNumber] = $sOtherParts;

将东西添加到数组中。在这个查询 foreach 循环结束时,我这样做:

ksort($aBuild);

foreach($aBuild as $values)
{
    echo  $values;  
}  

这个回声是每个 $sOtherParts 一次,但对于其中的每一个,它都会向其中添加 $part1 和 $part2:

像这样:

独特的部分 测试 1 测试 2 另一个独特的部分 测试 1 测试 2 真正独特的部分 测试 1 测试 2 等.. 独特的部分 测试 1 测试 2

4

2 回答 2

1

您也应该回显您的密钥。以下行可能不会替换原始数组中的数据:

$aBuild[$iNumber] = $sOtherParts;

尝试更改 foreach 循环以打印出您的密钥:

ksort($aBuild);

foreach($aBuild as $key => $value)
{
    echo $key." => ".$value."<br />\n";
}

没有看到实际的代码,很难说。

于 2012-09-21T01:10:23.737 回答
1

您需要在 echo 语句的末尾添加一个换行符,因为 echo 不会自动提供类似 DOS 或 Bash 等中的 echo 的换行符。

此外,如果您的 $iNumber 变量只是一个递增变量,为什么不直接使用:

$aBuild[] = $sOtherParts;

那么你不应该需要ksort。

于 2012-09-21T01:13:04.377 回答