如何更改关联数组php中的键

时间:2018-12-04 08:30:56

标签: php arrays

我有这样的数组:

Array (
   [0] => Aenean
   [1] => Lorem
   [2] => Morbi
)

我正在尝试使用foreach来使以上格式的数组成为关联数组。尝试将key(例如0,1,2)更改为另一个值(例如x,y,z)。

array(
    'x' => 'Aenean',
    'y' => 'Lorem',
    'z' => 'Morbi'
),

到目前为止,我尝试使用foreach,但给我错误的结果

    $r_cat = array (Aenean,Lorem,Morbi);

    $cs = array();
    foreach ($r_cat as $c ) {
     $cs [] .= array (get_cat_ID($c) => $c);
    }
    print_r ($cs);

结果

Array (
   [0] => Array
   [1] => Array
   [2] => Array
)

3 个答案:

答案 0 :(得分:2)

您可以使用array_reduce

C

答案 1 :(得分:1)

您可以使用PHP array_combine()函数从一个数组设置键,并从第二个数组设置值。无需使用循环:

$a = array('x','y','z');
$b = array('Aenean','Lorem','Morbi');
$c = array_combine($a, $b);

echo '<pre>';print_r($c); echo '</pre>'; 

结果:

Array
(
    [x] => Aenean
    [y] => Lorem
    [z] => Morbi
)

答案 2 :(得分:0)

  <div class="invalid-feedback-custom" *ngIf="f.submitted"> <!-- Check for form submission -->
      <div *ngIf="nameEmailMismatch">Provided email doesn't belong to current user</div>
      <div *ngIf="notFound">User not found</div>
    </div>

输出为:

<?php
$array = array(
    0 => 'Aenean',
    1 => 'Lorem',
    2 => 'Morbi'
);

$i = 0;

$keyValues = array('x','y','z');

foreach ($array as $key => $value) {
    $cs[$keyValues[$i]] = $value;
    $i++;
}

echo '<pre>';
print_r($cs);

我制作了一个测试数组,其中包含一些您想放入的示例值(如您所提到的x,y,z),并像您同样尝试过的那样将密钥替换到了foreach中。

另一种方法是在您的foreach中使用Array ( [x] => Aenean [y] => Lorem [z] => Morbi ) 值并将其替换为新值,然后按如下所示取消设置旧键:

key