Reputation: 328
Wondering if I can get some assistance.
I've got an array that looks like below:
Array
(
[0] => Array
(
[0] => Model X, Model S, Model 3
[1] => Tesla
[2] => Elon Musk
)
)
I'd like to create another array (split on key[0] with a comma), like this
Array
(
[0] => Array
(
[0] => Model X
[1] => Tesla
[2] => Elon Musk
)
[1] => Array
(
[0] => Model S
[1] => Tesla
[2] => Elon Musk
)
[2] => Array
(
[0] => Model 3
[1] => Tesla
[2] => Elon Musk
)
)
Hope this makes sense, would appreciate some assistance.
Thanks.
Upvotes: 0
Views: 71
Reputation: 92894
The solution using explode
, array_slice
and array_merge
functions:
$arr = [0 => ['Model X, Model S, Model 3', 1 => 'Tesla', 2 => 'Elon Musk']];
$model_info = array_slice($arr[0], 1); // model's additional info
$result = [];
foreach (explode(",", $arr[0][0]) as $model) {
$result[] = array_merge([$model], $model_info);
}
// now $result contains the expected array
Upvotes: 0
Reputation: 62
Here's your solution.
$Array=array(array('Model X, Model S, Model 3','Tesla','Elon Musk'));
$Unfold1=explode(',',$Array[0][0]);
foreach($Unfold1 AS $Data){
$Response[]=array($Data,$Array[0][1],$Array[0][2]);
}
print_r($Response);
Upvotes: 1