I have loop of array. my loop format is-
background1.png - `abc1.png`
background1.png - `abc2.png`
background1.png - `abc3.png`
background2.png - `abc4.png`
background2.png - `abc5.png`
background2.png - `abc6.png`
Output should be -
$fruits = array(
'background1.png' =>
array('abc1.png','abc2.png', 'abc3.png'),
'background2.png' =>
array('abc4.png','abc5.png', 'abc6.png')
)
<?php
$arr = array(
'background1.png - abc1.png','background1.png - abc2.png',
'background1.png - abc3.png','background2.png - abc4.png',
'background2.png - abc5.png','background2.png - abc6.png');
foreach ($arr as $elem) {
$temp = explode('-', $elem);
$key = trim($temp[0]);
$fruits[$key][] = trim($temp[1]);
}
echo '<pre>';print_r($fruits);echo '</pre>';
Outout is:
(
[background1.png] => Array
(
[0] => abc1.png
[1] => abc2.png
[2] => abc3.png
)
[background2.png] => Array
(
[0] => abc4.png
[1] => abc5.png
[2] => abc6.png
)
)
Explanation:
Loop through your input array.
Consider background
variables as keys.
And other images
as values and construct array.
PS: Use trim() to avoid leading and trailing spaces.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.