0

I have an array which looks like (var_dump):

array (size=3)
0 => 
   array (size=8)
  'id' => string '1' (length=1)
  'user_id' => string '64' (length=2)
  'level' => string '1' (length=1)
  'score' => string '9999' (length=4)
  't1' => string '1' (length=1)
  't2' => string '0' (length=1)
  't3' => string '0' (length=1)
  'attempts' => string '1' (length=1)
1 => 
  array (size=8)
  'id' => string '2' (length=1)
  'user_id' => string '64' (length=2)
  'level' => string '2' (length=1)
  'score' => string '123456789' (length=9)
  't1' => string '1' (length=1)
  't2' => string '1' (length=1)
  't3' => string '0' (length=1)
  'attempts' => string '4' (length=1)
2 => 
  array (size=8)
  'id' => string '3' (length=1)
  'user_id' => string '64' (length=2)
  'level' => string '3' (length=1)
  'score' => string '123456789' (length=9)
  't1' => string '1' (length=1)
  't2' => string '1' (length=1)
  't3' => string '0' (length=1)
  'attempts' => string '7' (length=1)

How can I change the key 0, 1, 2 etc.. to be the value of level inside that array?

For example:

1 => 
   array (size=8)
  'id' => string '1' (length=1)
  'user_id' => string '64' (length=2)
  'level' => string '1' (length=1)
  'score' => string '9999' (length=4)
  't1' => string '1' (length=1)
  't2' => string '0' (length=1)
  't3' => string '0' (length=1)
  'attempts' => string '1' (length=1)
2 => 
  array (size=8)
  'id' => string '2' (length=1)
  'user_id' => string '64' (length=2)
  'level' => string '2' (length=1)
  'score' => string '123456789' (length=9)
  't1' => string '1' (length=1)
  't2' => string '1' (length=1)
  't3' => string '0' (length=1)
  'attempts' => string '4' (length=1)
3 => 
  array (size=8)
  'id' => string '3' (length=1)
  'user_id' => string '64' (length=2)
  'level' => string '3' (length=1)
  'score' => string '123456789' (length=9)
  't1' => string '1' (length=1)
  't2' => string '1' (length=1)
  't3' => string '0' (length=1)
  'attempts' => string '7' (length=1)

I have already tried renaming the key inside a forloop, that did not replace only the key, but instead, it replaced the whole array and left it blank.

Thanks

Nicholas Mordecai
  • 859
  • 2
  • 12
  • 33

1 Answers1

0
$arr = [ ['id'=>1], ['id'=>2],  ['id'=>3]];

$new = [];

foreach($arr as $item)  
    $new[$item['id']] = $item;

print_r($new);  

result

Array (
    [1] => Array ( [id] => 1)
    [2] => Array ( [id] => 2)
    [3] => Array ( [id] => 3)
}
splash58
  • 26,043
  • 3
  • 22
  • 34