我有一个类似于0,0,0,0,1,1,0的数组 - 这意味着一个条目选择了两天。时间是星期五和星期六。
如何更换" 1"这个数组的值是白天的? outpz必须是" Fr,Sa"? 抱歉我的英文不好:)
答案 0 :(得分:1)
$days = array(0, 0, 0, 0, 1, 1, 0);
$dayNames = array("Mo", "Tu", "We", "Th", "Fr", "Sa", "Su");
$openDays = array_keys(
array_filter(
array_combine(
$dayNames,
$days
)
)
);
然后你可以简单地
echo implode(', ', $openDays);
答案 1 :(得分:0)
<?php
$days = array(0, 0, 0, 0, 1, 1, 0);
$dayNames = array("Mo", "Tu", "We", "Th", "Fr", "Sa", "Su");
$daysText = "";
for ($i = 0; $i < count($dayNames); ++$i) {
if ($days[$i] === 1) {
$daysText .= $dayNames[$i] . ", ";
}
}
$daysText = rtrim($daysText, ", ");
echo $daysText;
答案 2 :(得分:0)
这是在php中执行此操作的众多方法之一。
$days = array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun");
$flags= array(0,0,0,0,1,1,0);
for($x=0; $x<count($days); $x++){
if($flags[$x] == 1)
echo $days[$x];
}
这使用了并行数组的思想。通过标志迭代,如果它是1,基于该标志索引,在文本中打印相应的日期。