将数组数据放入单独的变量中

时间:2013-05-04 10:28:45

标签: php

我试图将数组数据放入两个单独的变量中。但没有得到它。这是我的代码

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的变量中,将第二个日期放入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 个答案:

答案 0 :(得分: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];
?>

答案 1 :(得分:2)

如果您确定 $ array1 有两行,那些是您需要的日期,您可以查看列表内置函数:

list($start_date, $end_date) = $array1;

答案 2 :(得分: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

答案 3 :(得分:1)

$array['datestart'] = $option_value_start; 
$array['dateend'] = $option_value_end;
foreach ($array AS $k=>$v){
     $$k=$v;
}
echo $datestart; // print $option_value_start VALUE
echo $dateend;