2015-06-20 35 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) –