view raw
Justine Justine - 11 months ago 35
PHP Question

PHP: How to put a variable in an array?

Just a quick newbie PHP syntax question.

I have a variable, let's call it

which always contains a string of numbers separated by commas, like so:

I also have a variable that's an array:

$args = array('post_type' => 'page', 'post__in' => array(27,19,29), 'order' => 'ASC');

That's of course WordPress. What I need to do, is place the content of the
variable (numbers) where the numbers inside the array are. I'm rather new to PHP, only understand how to modify some things, but this I can't figure out, no idea how the syntax for it should go.

Anyone able to help? Thanks.

$args['post__in'] = array_merge($args['post__in'], explode(',', $tabs));

Let's explain what I did so you may pick up a thing or two:

  1. explode(',', $tabs) splits a string into pieces at a separator and puts that pieces in an array.
  2. array_merge($arr1, $arr2) will merge the two arrays.
  3. $args['post__in'] will access an array element specified by a key.

Note that array_merge, in this case, will just append the values and you may end up with duplicate numbers. To get rid of duplicates just wrap the merge in array_unique. Like so:

$args['post__in'] = array_unique(array_merge($args['post__in'], explode(',', $tabs)));

And of course, the trivial case when you just want to replace those numbers with brand new ones is

$args['post__in'] = explode(`,`, $tabs);