繁体   English   中英

PHP array_unique()函数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM