php - array with empty values vs clean array

one text

Solution:

From a performance perspective, I'd say, there might be minimal effect on memory consumption but I'd also assume this can be neglected.

From a programming perspective, I'd say: "it depends". As a rule of thumb, I'd say "Don't create empty fields, but when they are already there, don't forcefully remove them".

DISCLAIMER: SO does not like "opinion-based posts". Please take this with the needed grain of salt as this only reflects my opinion and it's not applying to all problems and situations.

In my opinion, there are two cases:

First: You are using the array for further processing.

When you know you need attributes to be present for further processing, it might be (dependent on the kind of access) good to have empty values. In this case, you can at least be sure that the key of the array is present. This should in fact not prevent you from creating classes/objects which are most likely a much better solution to this than arrays. This will mostly apply to data retrieved from DB directly (without ORM mappers) or some sort of partially processed data.

Second: You are passing information.

When you pass information over a network or serialize somewhere, every byte counts. In this case, it might be a good idea to sanitize the array so you can save these bytes. In this case, there might be also an exception (Like REST interfaces, they are "contracts" and the content/structure of the resources should not change just because there are null values).

Source