Php 仅回显唯一值
我有一个打印新闻稿的XML文件。我想回应新闻稿发布的所有年份,就像档案一样。只有唯一的值。下面的代码打印出所有年份。类似于“20172017201720162016201520152014”,而非“20172016201520142013”Php 仅回显唯一值,php,Php,我有一个打印新闻稿的XML文件。我想回应新闻稿发布的所有年份,就像档案一样。只有唯一的值。下面的代码打印出所有年份。类似于“20172017201720162016201520152014”,而非“20172016201520142013” 记下已经打印的日期 $printed = []; foreach ($xml->Releases as $release) { $year = date('Y', strtotime($release['PublishDateUtc']));
记下已经打印的日期
$printed = [];
foreach ($xml->Releases as $release) {
$year = date('Y', strtotime($release['PublishDateUtc']));
if (!isset($printed[$year])) {
echo $year;
$printed[$year] = $year;
}
}
记下已经打印的日期
$printed = [];
foreach ($xml->Releases as $release) {
$year = date('Y', strtotime($release['PublishDateUtc']));
if (!isset($printed[$year])) {
echo $year;
$printed[$year] = $year;
}
}
试试这个
<?php
$file = "file.xml";
$xml = simplexml_load_file($file);
$yearArray = array();
$uniqueArray = array();
foreach ($xml->Release as $release) {
$date = $release['PublishDateUtc'];
/* $date is now in format yyyy-mm-ddT06:30:00 */
$year = substr($date, 0, 4);
$yearArray[] = $year;
}
$uniqueArray = array_unique($yearArray);
print_r($uniqueArray);
?>
初始化2个额外变量,并在循环内生成年数组。然后打印唯一数组。试试这个
<?php
$file = "file.xml";
$xml = simplexml_load_file($file);
$yearArray = array();
$uniqueArray = array();
foreach ($xml->Release as $release) {
$date = $release['PublishDateUtc'];
/* $date is now in format yyyy-mm-ddT06:30:00 */
$year = substr($date, 0, 4);
$yearArray[] = $year;
}
$uniqueArray = array_unique($yearArray);
print_r($uniqueArray);
?>
初始化2个额外变量,并在循环内生成年数组。然后打印唯一数组。值是否始终按顺序排列?然后只需将最后一个值存储在变量中,并且仅当最后一个值不等于当前值时才回显。这些值是否始终按顺序排列?然后,只需将最后一个值存储在变量中,并且仅在最后一个值不等于当前值时进行echo。您可以执行
echo$printed[$year]=$year
,保存一行代码。谢谢,这对我帮助很大!你可以做echo$printed[$year]=$year
,保存一行代码。谢谢,这对我帮助很大!