As a collegiate player, Daniels played for VCU and under coach Shaka Smart. He played sparingly in his first two seasons for the Rams, though he did appear briefly in VCU's 2011 Final Four game against Butler as a sophomore. As a junior in 2011–12, Daniels became a regular in VCU's "Havoc" attack, averaging 24.4 minutes and 10 points per game. As a senior in 2012–13, Daniels started every game and raised his scoring average to 12.3 points per game. He put his name in the record books on January 2, 2013 when he shot 11-of-20 from three-point range en route to 33 points and 10 rebounds in a 109–58 win over East Tennessee State. The eleven three-pointers were a VCU and Atlantic 10 record for a single game. He also set VCU's single season record for three-pointers with 124, and finished with 251 three-pointers in his collegiate career, which ranked second most in the program's history.
After going undrafted in the 2013 NBA draft, Daniels joined the Charlotte Bobcats for the 2013 NBA Summer League. On September 30, he signed with the Bobcats, but was later waived on October 10. On October 18, he signed with the Houston Rockets, but was waived again on October 26. In November 2013, he was acquired by the Rio Grande Valley Vipers of the NBA Development League as an affiliate player of the Rockets. On January 4, 2014, against the Idaho Stampede, Daniels made 10 three-pointers to go along with 32 points. Halfway through his first season with the Vipers, Daniels broke the D-League's single-season record in three-pointers made. On February 3, Daniels was named to the Prospects All-Star roster for the 2014 NBA D-League All-Star Game.
Houston Rockets (2014)
On February 21, 2014, Daniels signed with the Houston Rockets but was immediately assigned back to the Vipers. On March 3, he was recalled by the Rockets, and two days later, he made his NBA debut, playing a total of 92 seconds against the Orlando Magic. He was later reassigned to the Vipers two more times. In 50 games for the Vipers in 2013–14, he averaged 21.8 points, 4.5 rebounds, 1.8 assists and 1.1 steals per game. On April 25, Daniels hit a go-ahead three-point shot with 11.0 seconds remaining in overtime against the Portland Trail Blazers in Game 3 of their 2014 NBA Playoffs first-round match-up, which the Rockets won 121–116. Daniels finished the game with 17 points. However, the Rockets went on to lose the series 4–2. On July 14, 2014, Daniels re-signed with the Rockets.
On December 19, 2014, Daniels was acquired by the Minnesota Timberwolves in a three-team trade that also involved the Rockets and the Philadelphia 76ers.
On February 10, 2015, Daniels was traded, along with Mo Williams and cash considerations, to the Charlotte Hornets in exchange for Gary Neal and a 2019 second-round draft pick. In the Hornets' final game of the season on April 15, Daniels scored a then career-high 24 points in a loss to the Toronto Raptors. On June 30, 2015, Daniels joined the Hornets for the 2015 NBA Summer League. On January 22, 2016, he scored a then season-high 17 points in a 120–116 overtime win over the Orlando Magic. Three days later, he scored a career-high 28 points off the bench in a 129–128 double overtime win over the Sacramento Kings. In that game, he made eight three-pointers and hit the go-ahead three-pointer with nine seconds left in the second overtime period.
On July 12, 2016, Daniels was acquired by the Memphis Grizzlies in a sign-and-trade deal with the Charlotte Hornets. On December 3, 2016, he scored a career-high 31 points in a 103–100 win over the Los Angeles Lakers. He shot 12-of-23 from the field, including 6-of-12 from outside the arc. Two days later, he hit seven three-pointers and finished with a game-high 29 points in a 110–108 double overtime win over the New Orleans Pelicans. On December 29, he scored all 22 of his points in the fourth quarter of the Grizzlies' 114–80 win over the Oklahoma City Thunder. Daniels' 22 points in the fourth tied a franchise record for one quarter—Greg Anthony had 22 in a quarter in December 1995, back when the team was in Vancouver.
On September 22, 2017, Daniels was traded, along with a 2018 second-round pick, to the Phoenix Suns in exchange for a conditional Suns 2018 second-round pick. On November 16, 2017, he scored 23 points, including six 3-pointers in the second quarter, in a 142–116 loss to the Houston Rockets. He tied a Suns franchise record for 3-pointers in a quarter, matching a mark shared by Gerald Green and Shannon Brown. On December 13, 2017, Daniels scored a career-high 32 points on 11-of-16 shooting, including 7-of-10 on 3-pointers, in a 115–109 loss to the Toronto Raptors. On January 22, 2018, in a 109–105 loss to the Milwaukee Bucks, Daniels made a three-pointer off the bench in his 27th straight game, passing Wesley Person for the longest such streak in Suns franchise history.
Los Angeles Lakers (2019–2020)
On July 7, 2019, Daniels signed a one-year contract with the Los Angeles Lakers for $2.1 million. On March 1, 2020, Daniels was waived by the Lakers.
Denver Nuggets (2020-present)
On March 5, 2020, Daniels signed with the Denver Nuggets.