// Finishing with another really nice example. $myVote5 = new Vote(array(1 => $election1->getCandidateObjectByName('Debussy'), 2 => $election1->getCandidateObjectByName('Olivier Messiaen'), 3 => [$election1->getCandidateObjectByName('Wiltod Lutoslawski'), $election1->getCandidateObjectByName('Ligeti')], 4 => $election1->getCandidateObjectByName('Koechlin'), 5 => $election1->getCandidateObjectByName('Caplet'))); $myVote5->addTags('jusGreatVote'); $election1->addVote($myVote5); // Please note that : $election1->getCandidateObjectByName('Olivier Messiaen') === $myMessiaenCandidate; // Return TRUE // Add some nice tags to my Vote 1 & 2 & 3 (You can do this before or after add register into to the Election) $myVote1->addTags(['strangeVote', 'greatFrenchVote']); // By Array $myVote2->addTags('greatFrenchVote,chauvinismVote'); // By String $myVote3->addTags($myVote1->getTags()); // Copy & Past // Parsing Vote $election1->parseVotes("\n Ligeti > Wiltod Lutoslawski > Olivier Messiaen = Debussy > Koechlin # A comment. A a line break for the next vote.\n greatFrenchVote,chauvinismVote || Olivier Messiaen > Debussy = Caplet > Ligeti # Tags at first, vote at second, separated by '||'\n strangeVote || Caplet > Koechlin * 8 # This vote and his tag will be register 8 times.\n "); // Adding some random to this election $VoteModel = $myVote2->getRanking(); for ($i = 0; $i < 95; $i++) { shuffle($VoteModel); $election1->addVote($VoteModel); } // How Many Vote could I Have now ? $election1->countVotes(); // Return 110 (int) # -B- Manage Votes # 1- Get vote list // Get the vote list $election1->getVotesList(); // Returns an array of all votes as object. // How many Vote with tag "strangeVote" ?