Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何仅在数组键不是';还没有显示_Php_Arrays_Foreach_Key - Fatal编程技术网

Php 如何仅在数组键不是';还没有显示

Php 如何仅在数组键不是';还没有显示,php,arrays,foreach,key,Php,Arrays,Foreach,Key,我正在尝试做一个日志类型的应用程序。因为我想让它按日期排序,所以我将要提取的日期作为键,然后将文本作为数组中的值。我想做的是只显示一次日期,即使有两个匹配的键 因此,在下面的示例中,理想情况下会返回: 1/2/2013 entry 1 entry 2 1/5/2013 this is another day 根据此输入: $array = array('1/2/2013'=>'entry 1', '1/2/2013'=>'entry 2', '1/5/2

我正在尝试做一个日志类型的应用程序。因为我想让它按日期排序,所以我将要提取的日期作为键,然后将文本作为数组中的值。我想做的是只显示一次日期,即使有两个匹配的键

因此,在下面的示例中,理想情况下会返回:

1/2/2013
   entry 1
   entry 2

1/5/2013
   this is another day
根据此输入:

   $array = array('1/2/2013'=>'entry 1', '1/2/2013'=>'entry 2', 
'1/5/2013'=>'this is another day');

    //loop through array and echo the date and value, but only echo date if havent already 

据我所知,密钥必须是唯一标识符,但是您可以取消设置并创建一个新数组,将其作为密钥,以便在该ie中拥有多个数据

Array
0
Date1 => string
1
Date2 => array("string 1","string2")

通过创建多维数组,可以允许在同一天发生多个事件。例如:

$events = array(
  '01/01/2010' => array(
    'event1', 'event2'
  ),
  '02/02/2011' => array(
    'event3', 'event5'
  )
);
在此之后,您应该能够针对每个事件在阵列上循环:

foreach($events as $date => $data) {
  echo $date .' - '. implode(',', $data);
}

这种数组结构在PHP中是不可能的,因为数组键是唯一的。分配变量后,您会注意到数组只有两个元素,而不是三个,因为第二个条目覆盖了第一个条目

<>如果你可以先按日期顺序排列条目,考虑一下:

<?php

$posts = array(
    array('date' => '1/2/2013', 'title' =>'entry 1'),
    array('date' => '1/2/2013', 'title' =>'entry 2'),
    array('date' => '1/5/2013', 'title' =>'entry 3'),
);

$date = '';
foreach ($posts as $p) {
    if ($date != $p['date']) {
        echo 'Date: ' . $p['date'] . "<br/>";
        $date = $p['date'];
    }
    echo 'Title: ' . $p['title'] . "<br/>";
}
使用

数组\密钥\存在

或者使用两个循环并使用数组_unique


@zod-也许是op的一个问题,不过引用:
我把我提取的日期作为键,然后把文本作为数组中的值
听起来像是可以的