Как я могу изменить ключ в массиве на PHP?

Мой массив, как это:

$arr = array('chelsea.jpg', 'arsenal.jpg');

Если я бегу: echo '<pre>';print_r($arr);echo '</pre>';

Результат :

Array
(
[0] => chelsea.jpg
[1] => arsenal.jpg
)

Я хочу изменить ключ. Так что результат будет таким:

Array
(
[cover1] => chelsea.jpg
[cover2] => arsenal.jpg
)

Как мне это сделать?

0

Решение

Вы можете использовать классический foreach

$arr = array('chelsea.jpg', 'arsenal.jpg');

$final = array();

foreach( $arr as $key => $val ) {
//Notice that $key + 1 -> because the first key of a simple array is 0
//You are assigning here the NEW key inside []
$final[ "cover" . ( $key + 1 ) ] = $val;
}

echo "<pre>";
print_r( $final );
echo "</pre>";

Это приведет к

Array
(
[cover1] => chelsea.jpg
[cover2] => arsenal.jpg
)
5

Другие решения

$arr = array( 'cover1' => 'chelsea.jpg', 'cover2' => 'arsenal.jpg' );
3

Вы можете использовать array_combine ().

print_r(array_combine(array('cover1', 'cover2'), array('chelsea.jpg', 'arsenal.jpg')));

Генерировать ключи динамически —

$values = array('chelsea.jpg', 'arsenal.jpg');
// Generate keys depending on the count of values
$keys = array_map(function($k) {
return 'cover' . $k;
}, range(1, count($values)));

print_r(array_combine($keys, $values));

Выход

Array
(
[cover1] => chelsea.jpg
[cover2] => arsenal.jpg
)
2
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector