使用另一个数组键值PHP

时间:2019-10-25 20:02:15

标签: php arrays

我要更改主键值的数组是$ files [],它看起来像

[0] => Array
(
    [0] => .
    [1] => ..
    [2] => ars-101-sef--toplanti-koltugu-JP1L68UJ.jpg
    [3] => ars-102-mIsafIr-koltugu-UV9H65DX.jpg
    [4] => ars-103-mIsafIr-koltugu-u-ayak-HS3B98DR.jpg
)

但是我希望主键随着slug []数组的值而改变

[0] => ares
[1] => ares2
[2] => argon
[3] => argon2
[4] => argon3
[5] => beren
[6] => beren2
[7] => beta

所以第一个是

[ares] => Array
(
    [0] => .
    [1] => ..
    [2] => ars-101-sef--toplanti-koltugu-JP1L68UJ.jpg
    [3] => ars-102-mIsafIr-koltugu-UV9H65DX.jpg
    [4] => ars-103-mIsafIr-koltugu-u-ayak-HS3B98DR.jpg
)

,其余的将像这样。怎么能做到呢?谢谢

2 个答案:

答案 0 :(得分:1)

$files = [
    [
        '.',
        '..',
        'ars-101-sef--toplanti-koltugu-JP1L68UJ.jpg',
    ],
    [
        '.',
        '..',
        'ars-101-sef--toplanti-koltugu-JP1L68UJ.jpg',
    ],
    [
        '.',
        '..',
        'ars-101-sef--toplanti-koltugu-JP1L68UJ.jpg',
    ],
];
$slug = [
    'ares',
    'ares2',
    'argon',
];
print_r(array_combine($slug, $files));

演示here

答案 1 :(得分:0)

也请进行此检查,无需使用 array_combine 即可获得相同的效果。并使用 foreach 循环。

 $files = [
    [
        '.',
        '..',
        'ars-101-sef--toplanti-koltugu-JP1L68UJ.jpg',
    ],
    [
        '.',
        '..',
        'ars-101-sef--toplanti-koltugu-JP1L68UJ.jpg',
    ],
    [
        '.',
        '..',
        'ars-101-sef--toplanti-koltugu-JP1L68UJ.jpg',
    ],
];
$slug = [
    'ares',
    'ares2',
    'argon',
];

$resultArray = [];
foreach ($files as $key => $item) {
    $appendArray = [];
    foreach ($item as $keyInside => $i) {
        if ($i !== '.' || $i !== '..') {
            $appendArray = $i;
        }
    }
    $resultArray[$slug[$key]] = $appendArray;
}

echo '<pre>'; print_r($resultArray); die;