Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.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

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_Comparison - Fatal编程技术网

PHP将当前数组值与以前的值进行比较

PHP将当前数组值与以前的值进行比较,php,arrays,comparison,Php,Arrays,Comparison,我有一个数组,上面有图像和每个图像的日期。我正在通过数组explode检索日期。我想获取此日期值,并将其与上一张图像的上一个日期值进行比较。我的目标是将这些日期显示为对应于每个不同日期的图像集的标题 这是我的代码,我一直在摆弄,试图使这项工作(对不起,我所有的斜杠): $p=0; $a=-1; 回声“; 回声“; foreach(数组_组合($images,$locs)为$image=>$loc) { $p++; $a++; $datesort=explode('>',$image); 回声“;

我有一个
数组
,上面有图像和每个图像的日期。我正在通过数组
explode
检索日期。我想获取此日期值,并将其与上一张图像的上一个日期值进行比较。我的目标是将这些日期显示为对应于每个不同日期的图像集的标题

这是我的代码,我一直在摆弄,试图使这项工作(对不起,我所有的斜杠):

$p=0;
$a=-1;
回声“;
回声“;
foreach(数组_组合($images,$locs)为$image=>$loc)
{
$p++;
$a++;
$datesort=explode('>',$image);
回声“;
echo“input[label=t...$p.]{”;
回显“显示:无;”;
回声“}”;
echo“input[label=t...$p.]+label{”;
回声“边框:5px实心#FFFFFF;”;
$image=“背景:url('http://blah.com/“$loctb[$p]。”);”;
回波图像;
回声“高度:61px;”;
回声“宽度:92px;”;
echo“显示:内联块;”;
回显“填充:0px;”;
回声“}”;
echo“input[label=t.$p.]:选中+标签{”;
echo“边框:5px实心#FF9900;”;
echo“背景:url('http://blah.com/“$loctb[$p]。”);”;
回声“高度:61px;”;
回声“宽度:92px;”;
echo“显示:内联块;”;
回显“填充:0px;”;
回声“}”;
回声“;
$lastdate=数组(“”);
$lastdate[$a]=$datesort[1];
回声“;
如果($lastdate[$a]$datesort[1]){
回声“;
echo$datesort[1];
回声“;
}

回音“这里是一个快速和肮脏的方式,虽然你想把它调整到你的需要(我有这个问题,但它更糟,因为我也填补了空白日期之间):< /P>
$previous_dates=array();
foreach(数组_组合($images,$locs)为$image=>$loc){
$datesort=explode('>',$image);
如果(结束($previous_dates)$datesort[1]){
回声“;
echo$datesort[1];
回声“;
}
//…更多的东西//
$previous_dates[]=$datesort[1];
}

真的,我会重新考虑你在循环中爆炸的方法,但首先,看看这是否能让你达到你需要的位置。

所以,基本上,你是按日期对图像进行分组的?你可能想看看herdoc语法。这会给你更干净的代码。太棒了!你新编辑的代码成功了。App感谢您的帮助。谢谢您,Anthony。是的,很抱歉。这是我从内存中编写代码所得到的。我认为您遇到的最大难题是在循环中设置
$lastdate=array(“”;
),而不是提前设置。为了避免非循环区域中仅循环的变量,我做了一百万次。
$p = 0;
$a = -1;
echo "<table>";
echo "<tr>";
foreach (array_combine($images,$locs) as $image => $loc)
{
    $p++;
    $a++;
    $datesort = explode('>',$image);
    echo "<style>";
    echo "input[label=t" . $p . "]    {";
    echo "display: none;";
    echo "}";
    echo "input[label=t" . $p . "] + label   {";
    echo "border: 5px solid #FFFFFF;";
    $image = "background: url('http://blah.com/" . $loctb[$p] . "');";
    echo $image;
    echo "height: 61px;";
    echo "width: 92px;";
    echo "display: inline-block;";
    echo "padding: 0 0 0 0px;";
    echo "}";
    echo "input[label=t" . $p . "]:checked + label   {";
    echo "border: 5px solid #FF9900;";
    echo "background: url('http://blah.com/" . $loctb[$p] . "');";
    echo "height: 61px;";
    echo "width: 92px;";
    echo "display: inline-block;";
    echo "padding: 0 0 0 0px;";
    echo "}";
    echo "</style>";
    $lastdate = array("");
    $lastdate[$a] = $datesort[1];
    echo "<td>";
    if ($lastdate[$a] <> $datesort[1]){
    echo "<h2>";
    echo $datesort[1];
    echo "</h2>";
    }
    echo "<input type=\"checkbox\" label=\"t" . $p . "\" id=\"t" . $p . "\" name =\"boxes[]\" value=\"<img src=http://blah.com/" . $loc . "\" />";
    echo "<label for=\"t" . $p . "\"></label>";
    echo "</div>";
    echo "</td>";
    if ($p % 2 == 0)
    {
    echo "</tr>";
    }
}
echo "</table>";
$previous_dates = array();

foreach (array_combine($images,$locs) as $image => $loc) {

    $datesort = explode('>',$image);

    if (end($previous_dates) <> $datesort[1]) {
       echo "<h2>";
       echo $datesort[1];
       echo "</h2>";
    }
      // ... more stuff ...//

    $previous_dates[] =  $datesort[1];
}