Reputation: 5356
I have the following values:
$attached_products = "1,4,3";
I want to make an array that looks like:
$selected = array(1, 4, 3);
using a loop with my $attached_products
.
Upvotes: 2
Views: 185
Reputation: 129785
This could be done with a loop, but there's a simpler way.
You can break your string up around the commas using the explode
function[php docs]. This will give you an array of strings of digits. You can convert each string to an integer by applying intval
[php docs] using array_map
[php docs].
$attached_products = "1,4,3";
$selected_strings = explode(',', $attached_products); # == array('1', '4', '3')
$selected = array_map('intval', $selected_strings); # == array(1, 4, 3)
Upvotes: 7
Reputation: 490283
If there may or may not be whitespace after the comma, you could use preg_split()
.
$selected = preg_split(/,\s*/, $attached_products);
Alternatively you could use explode()
, trim()
and array_map()
.
$selected = array_map('trim', explode(',', $attached_products));
If they must be integers, map them through intval()
.
Upvotes: 2
Reputation: 2784
You use explode()
for that:
$selected = explode(", ", $attached_products);
Upvotes: 4