【问题标题】:PHP string not working well outside 'for' statement [closed]PHP字符串在'for'语句之外无法正常工作[关闭]
【发布时间】:2013-01-06 23:59:59
【问题描述】:

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

我们正在使用 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)*/ ?>

【问题讨论】:

  • 串联...阅读一下

标签: php arrays string wordpress for-loop


【解决方案1】:

试试这个

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

}  
echo $all_dates; /*PRINTING ALL DATES*/ 

【讨论】:

  • 感谢您的回答。它有很大帮助。我们刚刚了解了串联。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    您没有连接原始 $all_dates:

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

    【讨论】:

    • 感谢您的帮助。它奏效了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-08
    • 1970-01-01
    • 2021-06-03
    • 2013-07-18
    • 2017-08-03
    相关资源
    最近更新 更多