當前位置: 首頁>>代碼示例>>PHP>>正文


PHP TextHelper::deserializeMediaId方法代碼示例

本文整理匯總了PHP中TextHelper::deserializeMediaId方法的典型用法代碼示例。如果您正苦於以下問題:PHP TextHelper::deserializeMediaId方法的具體用法?PHP TextHelper::deserializeMediaId怎麽用?PHP TextHelper::deserializeMediaId使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在TextHelper的用法示例。


在下文中一共展示了TextHelper::deserializeMediaId方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: AnimeProcessor

<?php

require_once __DIR__ . '/../src/core.php';
$mediaProcessors = [Media::Anime => new AnimeProcessor(), Media::Manga => new MangaProcessor()];
$mediaIds = [];
foreach (Database::getAllDbNames() as $dbName) {
    Database::attachDatabase($dbName);
    $query = 'SELECT um.mal_id, um.media FROM usermedia um' . ' GROUP BY um.media, um.mal_id' . ' HAVING NOT EXISTS(' . 'SELECT null FROM media m' . ' WHERE m.mal_id = um.mal_id AND m.media = um.media' . ') ORDER BY um.mal_id';
    $localMediaIds = array_map(function ($row) {
        $row = ReflectionHelper::arrayToClass($row);
        return TextHelper::serializeMediaId($row);
    }, R::getAll($query));
    $mediaIds = array_merge($mediaIds, $localMediaIds);
}
$mediaIds = array_unique($mediaIds);
$pad = strlen(count($mediaIds));
$done = 0;
$exitCode = 0;
foreach ($mediaIds as $mediaId) {
    try {
        ++$done;
        list($media, $malId) = TextHelper::deserializeMediaId($mediaId);
        printf("(%0{$pad}d/%d) Processing %s #%d" . PHP_EOL, $done, count($mediaIds), Media::toString($media), $malId);
        $mediaProcessors[$media]->process($malId);
    } catch (Exception $e) {
        echo $e->getMessage() . PHP_EOL;
        $exitCode = 1;
    }
}
exit($exitCode);
開發者ID:Lucas8x,項目名稱:graph,代碼行數:30,代碼來源:unnuke-media.php


注:本文中的TextHelper::deserializeMediaId方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。