2015-06-20 33 views
0

我有一个这样的数组0,0,0,0,1,1,0 - 这意味着两天被一个条目选择。这些日子是星期五和星期六。打印天(姓名)从数据库中的数组

如何在白天替换此数组的“1”值? outpz必须是“Fr,Sa”? 对不起我的英语不好:)

+0

什么编程语言是您使用? – Mureinik

+0

对不起,在PHP – onbids

回答

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; 
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,根据标志索引,在文本中打印相应的日期。

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 
     ) 
    ) 
); 

Demo

然后你可以简单地

echo implode(', ', $openDays); 
+0

当我把所有的一个函数和传递数组$天例如。 $ days = array($ passingarray);输出是空的!? – onbids

+0

如果你的函数得到一个空的结果,那么你的函数做错了,或者调用函数 –

+0

[Demo as a function](http://ideone.com/BHAHtx) –