我要更改主键值的数组是$ 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
)
,其余的将像这样。怎么能做到呢?谢谢
答案 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;