繁体   English   中英

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

[英]PHP array formatted by html and group it

我想将PHP数组的输出格式化为HTML,这样可以正确对齐。 以及如何删除数组和其他内容? 另外,我想按“ ou”将其分组。 u具有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); 

使用print_r输出

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
    )

天哪,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>';
?>

这可以很好地缩进。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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