There is no way to do that with a prepared statement. The only possibility is to do something like this:
$query = "SELECT * FROM fruitcart WHERE fruitname = ? OR fruitname = ? OR fruitname = ? ...
You can easily build a statement like this with an foreach loop.
But be aware that, since your array will probably have different amounts of values, this might cause some confusion in the database optimizer algorithms. For optimal performance you might want to prepare statements with for example 128, 64, 32, 16, 8, 4, 2, 1 slots and then use the biggest one you can fill until you got all your values from the database. That way the optimizer is able to deal with a much more limited amount of statement skeletons.
You can also use a temporary table for this. For example create a table that only contains the values (apple, banana, ...) and an id for your value set.
You can then insert the array of values into the database using a unique set-id (php offers a guid function for example) and then selecting them in a subquery:
$query = "SELECT * FROM fruitcart WHERE fruitname IN (SELECT fruitname FROM temptable WHERE setid = ?)"
That's easily preparable and will perform quite good.
You can use an in-memory table for the temptable so it will be very fast.