'IF TRUE then Variable name

I have a series of TRUE and FALSE variables representing search findings, ex: Cellphones, Knifes, Money, etc. My goal is to change the values TRUE for the name of the variable. Note that I would like to do this for 15 or more variables.

df <- data.frame(cellphone = c(TRUE, TRUE, FALSE, TRUE, FALSE),
                 money = c(FALSE, FALSE, FALSE, TRUE, FALSE),
                 knife = c(TRUE,TRUE,FALSE, FALSE, FALSE),
                 whatIneed = c("cellphone", "cellphone", "", "cellphone",""))

  cellphone money knife whatIneed
1      TRUE FALSE  TRUE cellphone
2      TRUE FALSE  TRUE cellphone
3     FALSE FALSE FALSE          
4      TRUE  TRUE FALSE cellphone
5     FALSE FALSE FALSE       


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source