PHP字符串在'for'语句之外不能正常工作

时间:2013-01-23 13:27:22

标签: php arrays string wordpress for-loop

我们已经完成了Wordpress搜索表单,我们无法在for语句之外使PHP字符串正常运行。

我们正在使用WordPress查询来使过滤器正常工作。正如您将看到的,我们一直在使用不同的自定义字段。

$height$tshirt_size-等其他字符串在下面定义了数百行并且运行正常。

我们遇到的唯一问题是我们无法使$all_dates字符串在for语句之外工作。

当我们尝试将其打印在内部工作正常并显示我们请求的所有日期。但是当我们尝试在外面进行时,只显示一个日期(最后一个)。

这就是查询的工作原理(我希望注释足够清晰):

<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;   

query_posts( array(
'post_type' => 'bbdd',
'paged' => $paged,
'meta_query' => array(
            $tshirt_size,           /*WORKS WELL*/
            $shoe_size,              /*WORKS WELL*/
            $height,                 /*WORKS WELL*/
            $weight,                 /*WORKS WELL*/
            array( 'key' => 'age',
                   'value' => array($all_dates) /*NOT WORKING*/ ),)) );

$date_from = $_GET["date_from"]; 
$date_from = strtotime($date_from); 

$date_to = $_GET["date_to"]; 
$date_to = strtotime($date_to);

for ($i=$date_from; $i<=$date_to; $i+=86400)
{
    $all_dates = "'" . date("d/m/Y", $i) . "', ";

echo $all_dates; /*PRINTING ALL DATES*/ 
}  
echo $all_dates; /*PRINTING ONLY ONE DATE (LAST DATE)*/ ?>

2 个答案:

答案 0 :(得分:0)

这是正常的,在你的“for”中,你每次循环时打印一个日期,在“for”之外只打印最后一个日期,打印你必须连接它们的所有日期。

答案 1 :(得分:0)

你没有连接原来的$ all_dates:

$ all_dates =“'”。日期(“d / m / Y”,$ i)。 “',”;