0

I need to replace the keys of my array with keys within the same array in PHP.

My array looks like this at the moment :

array (size=7)
  0 => 
    array (size=2)
      'id' => int 978
      'nbUnitsSold' => string '33.00000' (length=8)
  1 => 
    array (size=2)
      'id' => int 979
      'nbUnitsSold' => string '9.00000' (length=7)
  2 => 
    array (size=2)
      'id' => int 980
      'nbUnitsSold' => string '4.00000' (length=7)
  3 => 
    array (size=2)
      'id' => int 981
      'nbUnitsSold' => string '237.00000' (length=9)
  4 => 
    array (size=2)
      'id' => int 983
      'nbUnitsSold' => string '5.00000' (length=7)
  5 => 
    array (size=2)
      'id' => int 984
      'nbUnitsSold' => string '19.00000' (length=8)
  6 => 
    array (size=2)
      'id' => int 991
      'nbUnitsSold' => string '2.00000' (length=7)

I want it to look like this :

array (size=7)
  978 => 
    array (size=1)
      'id' => int 978
      'nbUnitsSold' => string '33.00000' (length=8)
  979 => 
    array (size=1)
      'id' => int 979
      'nbUnitsSold' => string '9.00000' (length=7)
  980 => 
    array (size=1)
      'id' => int 980
      'nbUnitsSold' => string '4.00000' (length=7)
  981 => 
    array (size=1)
      'id' => int 981
      'nbUnitsSold' => string '237.00000' (length=9)
  983 => 
    array (size=1)
      'id' => int 983
      'nbUnitsSold' => string '5.00000' (length=7)
  984 => 
    array (size=1)
      'id' => int 984
      'nbUnitsSold' => string '19.00000' (length=8)
  991 => 
    array (size=1)
      'id' => int 991
      'nbUnitsSold' => string '2.00000' (length=7)

Is there any function in PHP that could help without looping into the whole array ?

Thank you !

1 Answer 1

4

Just use array_column() with the third parameter as the column you want as the index...

$indexedArray = array_column($input,null,"id");
Sign up to request clarification or add additional context in comments.

1 Comment

Thanks a lot ! Works fine :)

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.