如何在php上更改数组中的键?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在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
)

我该怎么做?

答案

你可以使用经典的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
)
另一答案
$arr = array( 'cover1' => 'chelsea.jpg', 'cover2' => 'arsenal.jpg' );
另一答案

您可以使用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
)

以上是关于如何在php上更改数组中的键?的主要内容,如果未能解决你的问题,请参考以下文章

如何在php中的数组中插入新的键值对?

如何根据 PHP 中的键清除具有半重复值的数组数组?

如何获取与php数组中的键和值相关的所有数组值

PHP:如何将一个数组中的键与另一个数组中的值进行比较,并返回匹配项?

如何在 PHP 中的键 => 值对数组中获取最小值、最大值和平均值?

PHP:如何比较一个数组中的键与另一个数组中的值,并返回匹配?