[英]PHP array_unique() function
<?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函数正在显示必要的输出,除了数组中的最后一个元素。 当我尝试打印单个数组值时,它将显示所需的值。 请帮我发现问题。
array_merge()与array_unique()的输出: - https://eval.in/876892
因此,您将看到最后一个值的索引为9而不是6。
因此,与其使用for
循环, foreach()
使用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()
重新索引数组,如下所示: array_values()
: //eval.in/876905
<?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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.