PHP- For循环不被访问

时间:2017-06-01 10:41:44

标签: php

所以我有以下for循环:

$arr = [];
for($x = date('j', strtotime('this week')); $x <= date('j', strtotime('this week + 6 days')); $x++)
            {
                dd('test');
                $arr[$x] = [
                    'y' => $x,
                    's' => 0,
                    'c' => 0,
                    'cl' => 0
                ];
            }
            dd('test2');

问题是永远不会访问循环... dd()返回'test2'但是没有访问for循环并且它不会返回任何错误。 我有一个类似的:

for($x = 1; $x <= date('t', strtotime('today')); $x++)
            {
                $arr[$x] = [
                    'y' => $x . ' ' . date('M', strtotime('today')),
                    's' => 0,
                    'c' => 0,
                    'cl' => 0
                ];
            }

这个完美无缺。我想要做的是根据本周的日期生成$ arr的索引,或者根据本月的日期生成以下情况的索引。我根本不明白为什么一个有效,另一个没有。 谢谢大家的时间和帮助!

3 个答案:

答案 0 :(得分:2)

你有什么:

$x = date('j', strtotime('this week')); //returns 29

$x <= date('j', strtotime('this week + 6 days')) // returns 4

永远不要进入循环(操作是:29&lt; 4)。

如果更改j的{​​{1}}(在日期的PHP官方文档中:

  

一年中的某一天(从0开始)

)您将获得:

z

然后,在循环内部,您可以使用x: 148 < x: 154 存储星期几,循环将起作用。

如果您想在2个日期之间进行添加,那么还有其他解决方案:How to count days between two dates in PHP?

希望它有所帮助!

答案 1 :(得分:0)

$query = $this->db
    ->select("Select staff_permissions_list.perm_type,staff_permissions_list.permission_key,staff_permissions_list.permission_label,staff_permissions_list.id, staff_role_permissions.permission_id as p_id,staff_role_permissions.role_id")
    ->from("staff_role_permissions AS srp")
    ->join("staff_permissions_list AS spl","srp.permission_id = spl.id","right")
    ->where("spl.perm_type","0")
    ->where("srp.role_id",$id)
    ->order_by("spl.id","ASC")
    ->get();

答案 2 :(得分:0)

由于@JP,找到

Soution 。奥莱特的解释:

var express = prompt("Enter your operation, for example 2+2",""); 
if(!express) alert("Ok, it's over!");


express = express.replace(/\s/g, '');
var number1 = +express.charAt(0);
var sign = express.charAt(1);
var number2 = +express.charAt(2);

switch(sign){
case "+" : alert(number1 + number2);  break;
case "-" : alert(number1 - number2);  break;
case "*" : alert(number1 * number2);  break;
case "/" : alert(number1 / number2);  break;
 default : alert("Not a correct operation");
}