如何使用php在数组中创建内部数组

时间:2015-04-27 10:17:56

标签: php

我有数组循环。我的循环格式是 -

background1.png - `abc1.png`
background1.png - `abc2.png`
background1.png - `abc3.png`
background2.png - `abc4.png`
background2.png - `abc5.png`
background2.png - `abc6.png`

输出应为 -

$fruits = array(
'background1.png' =>
       array('abc1.png','abc2.png', 'abc3.png'),
'background2.png' =>
       array('abc4.png','abc5.png', 'abc6.png')
)

1 个答案:

答案 0 :(得分:2)

<?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
        )

)

<强>解释

循环输入数组。

background个变量视为键。

其他images作为值并构造数组。

PS:使用trim()来避免前导和尾随空格。