私は過去数日間、このコードを断続的に使用してきましたが、理解できません。
私がする必要があるのは、現在の時間がユーザーによって設定された時間内にあるかどうかに応じて、関数から 0 または 1 を返すことです。時刻と日付がユーザーが設定した 4 つの値の配列内にある場合は 1 を返し、そうでない場合は 0 を返します。ユーザーは、複数の期間に対して複数の配列を設定できます。
私はしばらくの間、このコードで作業しようとしてきました:
functions.php:
function determineWoE($woe) {
$curDayWeek = date('N');
$curTime = date('H:i');
$amountWoE = count($woe['WoEDayTimes']); // Determine how many WoE times we have.
if ( $amountWoE == 0 ) {
return 0; // There are no WoE's set! WoE can't be on!
}
for ( $i=0; $i < $amountWoE; $i++ ) {
if ( $woe['WoEDayTimes'][$i][0] == $curDayWeek && $woe['WoEDayTimes'][$i][2] == $curDayWeek ) { // Check the day of the week.
if ( $woe['WoEDayTimes'][$i][1] >= $curTime && $woe['WoEDayTimes'][$i][3] <= $curTime ) { // Check current time of day.
// WoE is active
return 1;
}
else {
// WoE is not active
return 0;
}
}
else {
// WoE is not active
return 0;
}
}
}
そして...ユーザーがこの機能に必要なだけ多くの期間を設定する場所:
$woe = array( // Configuration options for WoE and times.
// -- WoE days and times --
// First parameter: Starding day 1=Monday / 2=Tuesday / 3=Wednesday / 4=Thursday / 5=Friday / 6=Saturday / 7=Sunday
// Second parameter: Starting hour in 24-hr format.
// Third paramter: Ending day (possible value is same or different as starting day).
// Fourth (final) parameter: Ending hour in 24-hr format.
'WoEDayTimes' => array(
array(6, '18:00', 6, '19:00'), // Example: Starts Saturday 6:00 PM and ends Saturday 7:00 PM
array(3, '14:00', 3, '15:00') // Example: Starts Wednesday 2:00 PM and ends Wednesday 3:00 PM
),
);
しかし、私が何をしても... 関数 defineWoE は常に 0 を返します。
関数に for ではなく foreach が必要ですか? 時間がユーザー設定可能な時間内にある場合、determinWoE が 1 を返すようにするにはどうすればよいですか?
for を foreach に変更してみました:
foreach ( $woe['WoEDayTimes'] as $i ) {
そして今、私はエラーを受け取ります:警告:行76の/var/www/jemstuff.com/htdocs/ero/functions.phpの不正なオフセットタイプ
...なぜそのエラーが発生するのかわかりません。76 行目は次のとおりです。
if ( $woe['WoEDayTimes'][$i][0] == $curDayWeek && $woe['WoEDayTimes'][$i][2] == $curDayWeek ) { // Check the day of the week.
functions.php 内
var_dump($woe)
array(2) { ["WhoOnline"]=> string(2) "no" ["WoEDayTimes"]=> array(2) { [0]=> array(4) { [0]=> int(6) [1]=> string(5) "18:00" [2]=> int(6) [3]=> string(5) "19:00" } [1]=> array(4) { [0]=> int(3) [1]=> string(5) "14:00" [2]=> int(3) [3]=> string(5) "15:00" } } }
あなたが私に提供できる助けをありがとう。:)