while循环中的PHP Array_unique值错误

This is my PHP script for getting plan

This is my table

plan 
3|6
6|12
3|12

and

<?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));
}
?>

and I got the result is

Array ( [0] => 3 [1] => 6 ) Array ( [0] => 6 [1] => 12 )

Here I want 3,6,12 only. What is the problem in my script

before your while loop add this line:

$arrayVal = array();

and replace $arrayVal=explode("|",$t_data['plan']); with $arrayVal=array_merge($arrayVal, explode("|",$t_data['plan']));

$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));

Note: When using array_merge with associated arrays, it will overwrite values for same keys, but when using numeric keys array_merge will not overwrite them instead append as new values.