while循环中的PHP Array_unique值错误

时间:2013-12-13 08:12:02

标签: php mysql arrays

这是我获取计划的PHP脚本

这是我的表

plan 
3|6
6|12
3|12

<?php
$tenure="SELECT plan from ".TABLE_TYBO_EMI_GATEWAY;
$t_result=dbQuery($tenure);
while($t_data=mysql_fetch_assoc($t_result))
{
$arrayVal=explode("|",$t_data['plan']);
print_r(array_unique($arrayVal));
}
?>

我的结果是

数组([0] =&gt; 3 [1] =&gt; 6)数组([0] =&gt; 6 [1] =&gt; 12)

这里我只想要3,6,12。我的脚本中有什么问题

2 个答案:

答案 0 :(得分:3)

while循环之前添加此行:

$arrayVal = array();

并将$arrayVal=explode("|",$t_data['plan']);替换为$arrayVal=array_merge($arrayVal, explode("|",$t_data['plan']));

答案 1 :(得分:2)

$tenure="SELECT plan from ".TABLE_TYBO_EMI_GATEWAY;
$t_result=dbQuery($tenure);
$arrayVal = array();
while($t_data=mysql_fetch_assoc($t_result))
{
    $arrayVal = array_merge($arrayVal, explode("|",$t_data['plan']));
}
    print_r(array_unique($arrayVal));

注意:将array_merge与关联数组一起使用时,它将覆盖相同键的值,但使用数字键时array_merge不会覆盖它们而是附加为新值。