After reading the article, and seeing this:
One of the trickier concepts to tackle is the idea of arrays. In short, arrays allow you store multiple sets of data to one variable
I have to wonder if the person who wrote that article has even heard of database normalization.
In fact, upon further reading, I can confirm that he/she has not:
You may not need 5 fields now, but in the future you may want to assign 5 categories to one book. Then what do you do?
What you do is create one table that holds all possible categories, one table that holds metadata for a given book, and then one table that associates that book with however many categories are applicable. You don't try to cram multiple values into one column.
EDIT: Also, to answer your question, m opinion is that implode/explode is the worst way to go about doing something like this (not that you should do this at all anyway). If you're trying to store an array as a string, then serialize/unserialize is the way to go. Using implode/explode runs the chance of picking a delimiter that may appear in the data.