仅打印一次数组值-但仍打印其余数组吗?

时间:2018-07-11 15:35:29

标签: php

一天中的大部分时间都用来解决我的问题-我将放弃。

我有一个看起来像这样的数组:

array(2) {
  [1]=>
  array(5) {
    [0]=>
    array(6) {
      ["name"]=>
      string(15) "Henning smaall"
      ["drivernumber"]=>
      string(4) "8830"
      ["period_start"]=>
      string(10) "2018-07-20"
      ["period_end"]=>
      string(10) "2018-07-31"
      ["status"]=>
      string(1) "0"
      ["note"]=>
      string(9) "Operation"
    }
    [1]=>
    array(6) {
      ["name"]=>
      string(15) "Henning smaall"
      ["drivernumber"]=>
      string(4) "8830"
      ["period_start"]=>
      string(10) "2018-07-17"
      ["period_end"]=>
      string(10) "2018-07-17"
      ["status"]=>
      string(1) "0"
      ["note"]=>
      string(0) ""
    }
    [2]=>
    array(6) {
      ["name"]=>
      string(15) "Henning smaall"
      ["drivernumber"]=>
      string(4) "8830"
      ["period_start"]=>
      string(10) "2018-07-16"
      ["period_end"]=>
      string(10) "2018-07-16"
      ["status"]=>
      string(1) "1"
      ["note"]=>
      string(0) ""
    }
    [3]=>
    array(6) {
      ["name"]=>
      string(15) "Henning smaall"
      ["drivernumber"]=>
      string(4) "8830"
      ["period_start"]=>
      string(10) "2018-07-27"
      ["period_end"]=>
      string(10) "2018-07-27"
      ["status"]=>
      string(1) "0"
      ["note"]=>
      string(0) ""
    }
    [4]=>
    array(6) {
      ["name"]=>
      string(15) "Henning smaall"
      ["drivernumber"]=>
      string(4) "8830"
      ["period_start"]=>
      string(10) "2018-07-31"
      ["period_end"]=>
      string(10) "2018-07-31"
      ["status"]=>
      string(1) "1"
      ["note"]=>
      string(0) ""
    }
  }
  [13]=>
  array(2) {
    [0]=>
    array(6) {
      ["name"]=>
      string(15) "Henrik Hjersing"
      ["drivernumber"]=>
      string(4) "8850"
      ["period_start"]=>
      string(10) "2018-07-10"
      ["period_end"]=>
      string(10) "2018-07-24"
      ["status"]=>
      string(1) "0"
      ["note"]=>
      string(0) ""
    }
    [1]=>
    array(6) {
      ["name"]=>
      string(15) "Henrik Hjersing"
      ["drivernumber"]=>
      string(4) "8850"
      ["period_start"]=>
      string(10) "2018-07-18"
      ["period_end"]=>
      string(10) "2018-08-01"
      ["status"]=>
      string(1) "0"
      ["note"]=>
      string(11) "asdasdasdad"
    }
  }
}

我正在寻找的输出应该是类似的

Henning smaall (8830)
2018-07-20 - 2018-07-31
2018-07-17 - 2018-07-17
2018-07-16 - 2018-07-16
2018-07-27 - 2018-07-27
2018-07-31 - 2018-07-31

Henrik Hjersing (8850)
2018-07-10 - 2018-07-24
2018-07-18 - 2018-08-01

现在我正在使用伪数据和简单的php测试代码-但我一直在输出中获取名称的递归。

数据库功能:

public function resultsetGroup(){
    $this->execute();
    return $this->stmt->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_ASSOC);
}

SQL函数:

public function getVacations(){
  //$this->db->query('SELECT * FROM vacation ORDER BY user_id, status, period_start');
  $this->db->query('SELECT u.id, u.name, u.drivernumber, v.period_start, v.period_end, v.status, v.note FROM users u, vacation v where u.id = v.user_id');

  $results = $this->db->resultsetGroup();

  return $results;
}

这是我一直试图以500种不同方式更改的php代码,但仍然无法获得我想要的结果-如果我不按u.id而是按u.name进行pdo group-可以,但是再说一次,两个人可以使用相同的名字-这会破坏我的意图。

<?php var_dump($data['vacations']); ?>
<?php foreach($data['vacations'] as $key => $vac) : ?>
    <?php echo $key; ?>
    <?php foreach($vac as $va) : ?>
    <?php echo key($vac);?>
    <h1><?php echo $va['name'] ?></h1>
    <?php endforeach ; ?>   
<?php endforeach ; ?>

您能帮我吗?我感觉我就像在跑来跑去。

1 个答案:

答案 0 :(得分:-1)

heading1[idx] = data.slideHeading1 + ', ';

请尝试。