<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # collection格式化計算數據計算github事件得分總和 首先,通過 https://api.github.com/users/YOUR_USRE_NAME/events 獲取到個人事件json。 假如:一個 `PushEvent`計 5 分,一個 `CreateEvent` 計 4 分,一個`IssueCommentEvent`計 3 分,一個 `IssueCommentEvent`計 2 分,除此之外的其它類型的事件計 1 分,計算當前用戶的時間得分總和。 ## 聲明兩個變量,并使用foreach解決問題 ``` $events = json_decode(file_get_contents('https://api.github.com/users/YOUR_USRE_NAME/events'), true); $eventTypes = []; // 事件類型 $score = 0; // 總得分 foreach ($events as $event) { $eventTypes[] = $event['type']; } foreach($eventTypes as $eventType) { switch ($eventType) { case 'PushEvent': $score += 5; break; case 'CreateEvent': $score += 4; break; case 'IssueEvent': $score += 3; break; case 'IssueCommentEvent': $score += 2; break; default: $score += 1; break; } } ``` ## 使用collection中的[pluck](/collections/pluck.md)、[map](/collections/map.md)和[sum](/collections/sum.md)方法 ``` $events = collect(json_decode(file_get_contents('https://api.github.com/users/YOUR_USRE_NAME/events'), true)); $score = $events->pluck('type')->map(function($eventType) { switch ($eventType) { case 'PushEvent': return 5; break; case 'CreateEvent': return 4; break; case 'IssueEvent': return 3; break; case 'IssueCommentEvent': return 2; break; default: return 1; break; } })->sum(); ``` ## 使用collection中的pluck、map和get方法 ``` $events = collect(json_decode(file_get_contents('https://api.github.com/users/YOUR_USRE_NAME/events'), true)); $score = $events->pluck('type')->map(function($eventType) { return collect([ 'PushEvent'=> 5, 'CreateEvent'=> 4, 'IssueEvent'=> 3, 'IssueCommentEvent'=> 2 ])->get($eventType, 1); // 如果不存在則默認等于1 })->sum(); ``` ## 封裝githubScore類 ``` $events = collect(json_decode(file_get_contents('https://api.github.com/users/YOUR_USRE_NAME/events'), true)); class GithubScore { private $events; private function __construct($events){ $this->events = $events; } public static function score($events) { return (new static($events))->scoreEvents(); } private function scoreEvents() { return $this->events->pluck('type')->map(function($eventType){ return $this->lookupEventScore($eventType, 1); })->sum(); } public function lookupEventScore($eventType, $default_value) { return collect([ 'PushEvent'=> 5, 'CreateEvent'=> 4, 'IssueEvent'=> 3, 'IssueCommentEvent'=> 2 ])->get($eventType, $default_value); // 如果不存在則默認等于1 } } dd(GithubScore::score($events)); ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看