<?php
$MCA2DIVA=array('Sourabh','Akash','Anand','Karan','Amit');
$MCA2DIVB=array('Komal','Ruchita','Akash','Amit','Pratik');
?>
<html>
<head>
<style>
table
{
border:2px solid;
background-color:#acbe4a;
position:absolute;
top:25%;
left:30%;
height:40%;
width:10%;
border-radius:10px;
font-weight:bold;
font-size:17px;
}
td
{
border:2px solid;
text-align:center;
border-radius:8px;
}
p
{
position:absolute;
font-weight:bold;
font-size:25px;
left:10%;
}
p#p1
{
top:5%;
}
p#p2
{
top:8%;
}
</style>
</head>
<body bgcolor='#daf05e'>
<p id=p1>
<?php
echo "Array 1 : ";
print_r($MCA2DIVA);
?>
</p>
<p id=p2>
<?php
echo "Array 2 : ";
print_r($MCA2DIVB);
?>
</p>
<?php
$final=array_unique(array_merge($MCA2DIVA,$MCA2DIVB));
?>
<br>
<table>
<?php
for($i=0;$i<sizeof($final);$i++)
{
?>
<tr><td>
<?php
print_r($final[6]);
?>
</tr></td>
<?php
}
?>
</table>
</body>
</html>
这是我的PHP代码。我想合并两个数组删除重复项并以表格格式显示它。但是array_unique函数显示除了数组中最后一个元素之外的必要输出。当我尝试打印单个数组值时,它会显示所需的值。请帮我找到问题。
答案 0 :(得分:2)
使用array_unique()输出array_merge(): - https://eval.in/876892
所以你会看到最后一个值的索引9不是6。
所以不要使用for
循环使用foreach()
,因为它会处理索引本身。
逐个打印所有值: -
<table>
<?php
foreach($final as $value)
{
?>
<tr><td>
<?php
echo $value;
?>
</tr></td>
<?php
}
?>
</table>
如果您只想显示最后一个值( 不需要循环 ): -
<table>
<tr><td>
<?php
echo $final[count($final)-1];
?>
</tr></td>
</table>
注意: -
如果您想使用for
循环,则必须使用array_values()
重新索引数组,如下所示: - https://eval.in/876905
答案 1 :(得分:0)
<?php
$foo = array('Sourabh','Akash','Anand','Karan','Amit');
$bar = array('Komal','Ruchita','Akash','Amit','Pratik');
$names = array_unique(array_merge($foo, $bar));
sort($names);
?>
<table>
<thead>
<tr>
<th>Names</th>
</tr>
</thead>
<tbody>
<?php foreach($names as $name) { ?>
<tr>
<td><?= $name ?></td>
</tr>
<?php } ?>
</tbody>
</table>