1

配列データを 2 つの別々の変数に入れようとしています。しかし、それを取得していません。これが私のコードです

if($option_query->row['type'] == 'date') {
    $array1[0] = $option_value;

    foreach ($array1 as $key => $value) {
        echo "$key = $value<br>";
    }

今、私は結果を得ています:

0 = 2013-05-05
0 = 2013-05-07 

私は最初の日付をという変数に入れdatestart、2番目の日付をに入れたいと思っていますdateend。どうすればこれを達成できますか?

var_dump(array1) の出力;

array (size=1)
  0 => string '2013-05-05' (length=10)
array (size=2)
  0 => string '2013-05-05' (length=10)
  1 => string '2013-05-07' (length=10)

ここで編集(追加)

 if($option_query->row['type'] == 'date' )

                        {


$arr = array( //Assuming that this should be the map of your array
        array(
            $option_value
        ),
        array(
            $option_value
            //$option_value
        )
    );

   // var_dump($arr);

    echo $arr[1][0];
   echo $arr[1][1];

    }


                    }

私はこのように反響し、o / pを取得しました

2013-05-20
2013-05-30

できます!!!!!

4

4 に答える 4

2

日付は$array1昇順でソートされていますか? そうでない場合は、呼び出しasort($array)て低から高に並べ替える必要があります。

if ($option_query->row['type'] == 'date') {
    $dates = $array1; // Keep $array1 in tact
    $datestart = array_shift($dates); // Shifts an element off the front of $dates 
    $dateend = array_pop($dates); // Pops an element off the end of $dates
于 2013-05-04T10:47:27.067 に答える
2

次のような配列がある場合、ループする必要はありません

$arr = array('1/2/2010', '2/2/2012');

$start_date = $arr[0]; //Assigning 1st index to this var
$end_date = $arr[1]; //Assigning 2nd index to this var

更新:あなたの配列はネストされた配列です。これを使用する必要があります

<?php
    $arr = array( //Assuming that this should be the map of your array
        array(
            '2013-05-05'
        ),
        array(
            '2013-05-05',
            '2013-05-07'
        )
    );

    var_dump($arr);

    echo $arr[1][0];
    echo $arr[1][1];
?>
于 2013-05-04T10:30:42.167 に答える