Anonim olmayan bir PHP anonim dönüştürme fonksiyonu

0 Cevap php

http://stackoverflow.com/questions/3723748/php-version-5-2-14-parse-error-syntax-error-unexpected-t-function-expecting - - Ben giriş id kaybettim önce ilgili bir soru sordum ama bu "bütün" bir sorundur.

(- Anonim işlevlerini desteklemeyen millet beni bilgilendirdi gibi olan) PHP 5.2.14 ile çalışmak (SO yerden aldım) bu işlevi dönüştürmek için nasıl bulmaktan zor bir zaman yaşıyorum. I () o array_map ile çalışması için kodu değişen birkaç permütasyonlarını çalıştı ama ben her şeyin nasıl çalıştığını etrafında başımı sarmak olamaz!

Tüm fonksiyon Aşağıda yapıştırılan, ancak alanlar 5.2.14 şikayet PHP olanlardır işaret edilmektedir ..

function convertGeneralAvailabilityTime($date,$from_timezone,$from_timebegin, $from_timeend, $to_timezone)
{

$tz1 = new DateTimezone($from_timezone);

$datetime1 = new DateTime("$date $from_timebegin", $tz1);
$datetime2 = new DateTime("$date $from_timeend", $tz1);

$convertedAvail = array(
    array($datetime1, $datetime2),
);


$tz2 = new DateTimezone($to_timezone);
//convert periods:

// ISSUE_START

$times = array_map(
    function (array $p) use ($tz2) {
       $res = array();
       foreach ($p as $d) {
           $res[] = $d->setTimezone($tz2);
       }
       return $res;
    },
    $convertedAvail
);

// ISSUE_END

$res = array();
foreach ($times as $t) {
    $t1 = reset($t);
    $t2 = next($t);
    if ($t1->format("d") == $t2->format("d")) {
        $res[$t1->format("l")][] = $t1->format("g:i a") . " to ".
            $t2->format("g:i a");
    }
    else {
        $res[$t1->format("l")][] = $t1->format("g:i a") . " to 11:59 pm";
        $res[$t2->format("l")][] = "12:00 am to ". $t2->format("g:i a");
    }
}

return $res;
}

0 Cevap