4

arrayそれぞれの画像と日付があります。配列を介して日付を取得していますexplode。この日付値を取得して、前の画像の前の日付値と比較したいと思います。ここでの私の目標は、これらの日付を、それぞれの異なる日付に対応する一連の画像のヘッダーとして表示することです。

これが私がこの仕事をしようと試みてきた私のコードです(私のすべてのスラッシュで申し訳ありません):

$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>";

現在の日付の値を別のarray変数に格納し、次にforeachループを介してそれを新しい値と比較しようとしていますが、間違っています:-/ ...

私はあなたが提供できるどんな助けにも感謝します。ありがとう

4

1 に答える 1

2

これは手っ取り早い方法ですが、ニーズに合わせて調整することをお勧めします(この問題が発生しましたが、その間の空白の日付も入力していたため、さらに悪化しました)。

$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];
}

本当に私はあなたがループ内の爆発のために取っているアプローチを再考します、しかしまず第一に、それがあなたが必要な場所にあなたを連れて行くかどうか見てください。

于 2013-03-14T19:33:23.367 に答える