用html格式化的PHP数组并将其分组

用html格式化的PHP数组并将其分组,php,html,arrays,Php,Html,Arrays,我想将PHP数组的输出格式化为HTML,这样可以正确对齐。如何移除阵列和其他物品? 另外,我想把它按“ou”分组。您有4个或更多类别 html表的输出如下所示 sn dn mail user cn=user,ou=web service,dc=domain,dc=com example@domain.com 还是像这样 sn dn

我想将PHP数组的输出格式化为HTML,这样可以正确对齐。如何移除阵列和其他物品? 另外,我想把它按“ou”分组。您有4个或更多类别

html表的输出如下所示

 sn      dn                                        mail
 user    cn=user,ou=web service,dc=domain,dc=com   example@domain.com
还是像这样

 sn      dn                                        mail                 ou
 user    cn=user,ou=web service,dc=domain,dc=com   example@domain.com   web service
请帮帮我。多谢各位

这是不带html的输出

 array(1410) { ["count"]=> int(1409) [0]=> array(4) { ["sn"]=> array(2) {   ["count"]=> int(1) [0]=> string(11) "user" } [0]=> string(2) "sn" ["count"]=> int(1) ["dn"]=> string(56) "cn=user,ou=web service,dc=domain,dc=com" } [1]=>.....
这是PHP数组

  $dn = 'dc=domain,dc=com';
  $filter = "(|(sn=$person*)(fullname=$person*))";
  $ldaparray = array ("ou", "sn", "fullname", "mail");
  $sr=ldap_search($ldapconn, $dn, $filter, $ldaparray);
  $info = ldap_get_entries($ldapconn, $sr);
  var_dump($info); 
使用打印输出

Array
(
[count] => 1409
[0] => Array
    (
        [sn] => Array
            (
                [count] => 1
                [0] => user
            )

        [0] => sn
        [count] => 1
        [dn] => cn=username,ou=webservice,dc=domain,dc=com
    )
[1] => Array
    (
        [sn] => Array
            (
                [count] => 1
                [0] => user
            )

        [0] => sn
        [mail] => Array
            (
                [count] => 1
                [0] => example@domain.com
            )

        [1] => mail
        [count] => 2
        [dn] => uid=userid,ou=webser,dc=doamin,dc=com
    )

OMG,var_dump不是写数组内容的函数

如果要写下数组的内容,必须使用循环。数组的循环称为“foreach”。因此,如果要查看数组的内容,请尝试

<?
 foreach($info as $val) {
echo $val["count"]; // this write down a value of each "count" in array
/* All another array values are now available in variable $val with index you gave them*/
}
?>

您是否只希望返回一个结果?如果是,您的结果将显示在$info[0]中。因此,要在表格中显示,可以执行以下操作:

<table>
  <thead>
    <tr><td>Key</td><td>Value</td><tr>
  </thead>
  <tbody>
    <?php foreach($info[0] as $key => $value): ?>
    <tr>
      <td><?php echo $key; ?></td>
      <td><?php echo $value; ?></td>
    </tr>
    <?php endforeach; ?>
  </tbody>
</table>

键值
也就是说,如果您的数组有其他嵌套数组,则需要相应地调整逻辑,或者您可能希望循环并根据感兴趣的值重新构建数组。


<?php
    echo '<pre>';
    print_r($info); //your array
    echo '</pre>';
?>

这可以使用很好的缩进。

不起作用,当我使用您的脚本时,out是这样的整数11112222222222222211222222222222222222222222222222222222222222222222222222222222222当然是$info的值,但只有[“count”]索引。。。你必须在循环中定义另一个索引,才能得到你想要的。。。这些数字是$info[“count”]的值。请尝试回答exapmle echo$val[“dn”]重复的问题,看看这个:我不明白如何像那样格式化我的数组post@Glavi谢谢你帮我,我在这里看到了你的帖子,我不知道它将如何与我的arraypost你的示例数组一起工作。@vartateInfo我已经发布了它我有数千个结果要返回,但我只需要显示值。顺便说一句,谢谢你,我的阵型现在看起来好多了