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

时间:2015-03-10 05:55:01

标签: 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                                        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
    )

3 个答案:

答案 0 :(得分:0)

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*/
}
?>

答案 1 :(得分:0)

您是否期望只返回一个结果?如果是这样,您的结果将在$ 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>

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

答案 2 :(得分:0)

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

这适用于很好的缩进。