我试图在从0开始的一周中创建一个每小时的字符串.字符串长度为167个字符,对于该小时表示真/假的每个字符,由0/1组成.
我知道你可以编辑字符串:
$foo = "123456789";
echo $foo[0]; // outs 1
echo $foo[1]; //outs 2
$foo[0] = 1;
$foo[1] = 1;
echo $foo[0]; // outs 1
echo $foo[1]; // outs 1
所以我假设我可以设置一个空字符串并使用相同的方法来“构建”它.所以我正在运行一个0-167的循环,同时检查’小时’是否在$hours数组中.如果是我在我的字符串中将其设置为1 …如果不是,则将其设置为0.问题:
1.通过设置$inputHours =”这不起作用,它只是创建
一个数组而不是我想要的字符串.
2.是否有更优化的方式来检查是否设置了其他小时
比使用in_array 167次?
//array of selected hours
$hours = array(1, 25, 34, 76, 43)
//create selected hours string from selection
$inputHours = '';
for ($x = 0; $x < 168; $x++) {
$inputHours[$x] = in_array($x, $hours) ? 1 : 0;
}
预期输出将是$inputHours =’0011010101 …’,具体取决于是否设置为总长度为167个字符.