首先,我想为自己辩解,以防万一这个问题已经被张贴和回答,但是由于英语不是我的主要语言,我想我找不到或知道正确的词来找到它。
因此,我正在制定一个计划,该计划从已经制定的计划中获取其数据,我希望在if语句内的for循环围绕当天定义的数组进行循环。我当前的代码:
if($hoursandminutes >= 1435 && $hoursandminutes < 1520) {
for ($x = 1; $x <= 2; $x++) {
$p2a1 = "property$x";
$p2a11 = $results->results->collection1[8]->$p2a1;
echo "$p2a11 <br>";
}
}
因此,我认为这很容易解释,并且可以按应有的方式工作。但是问题在于,被索引的“集合”数组包含一周中不同日期的数据,例如collection1 [0],collection1 [1]包含我们在星期一具有第一和第二个主题以及collection2的主题的数据[0],collection2 [1]相同,但适用于星期二。所以我想做的是:
$p2a11 = $results->results->collection1[8]->$p2a1;
部分,但“收集”数组取决于日期。这是我目前所拥有的,但是不起作用:
$day = date('w');
$dantest = "collection$day";
if($hoursandminutes >= 1400 && $hoursandminutes < 1800) {
for ($x = 1; $x <= 2; $x++) {
$p2a1 = "property$x";
$p2a11 = $results->results->$dantest[0]->$p2a1;
echo "$p2a11 <br>";
echo $dantest;
}
}
但是它什么也没做。如果我尝试回显$ dantest,该语句也在函数中用于测试目的,由于语句循环两次且今天是星期一,它回响了两次“ collection1” ...我应该在$ dantest变量中写什么数组被正确选择?
提前致谢。真诚的,Thunderzzu
由于$dantest
是一个字符串,
$dantest[0]
返回该字符串的第一个字符,因此
$results->results->$dantest[0]
评估为
$results->results->c
要解决此问题,请设置中介变量:
$p2a11tmp = $results->results->$dantest;
$p2a11 = $p2a11tmp[0]->$p2a1;
或环绕dantest
有{}
:
$p2a11 = $results->results->${dantest}[0]->$p2a1;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句