I am working on array functionality in php i face some issue with array sorting.
Array is :
$employees = array(
    123 => array(
      'id'        => 13,
      'firstname' => 'Marky',
      'lastname'  => 'Mark'
    ),
    213 => array(
      'id'        => 3,
      'firstname' => 'Bobby',
      'lastname'  => 'Bob'
    ),
    256 => array(
      'id'        => 42,
      'firstname' => 'Jimmy',
      'lastname'  => 'Jim'
    )
  );
I want this array to be sort by firstname field not affecting any of the key value
I have used
foreach( $employees as $intKey => $Data ) {
                        $arrstr[$intKey]  = $Data['firstname'];
                    }
array_multisort( $arrstr, SORT_DESC, SORT_STRING, $employees );
but this function is affecting my key value of main array and give me out put like
$employees = array(
        0=> array(
          'id'        => 3,
          'firstname' => 'Bobby',
          'lastname'  => 'Bob'
        ),
        1=> array(
          'id'        => 42,
          'firstname' => 'Jimmy',
          'lastname'  => 'Jim'
        )
        2=> array(
          'id'        => 13,
          'firstname' => 'Marky',
          'lastname'  => 'Mark'
        ),
      );
Here its affecting my key value of main array.
so please help some how to achieve the exact result without affecting the key value like :
$employees = array(
        213 => array(
          'id'        => 3,
          'firstname' => 'Bobby',
          'lastname'  => 'Bob'
        ),
        256 => array(
          'id'        => 42,
          'firstname' => 'Jimmy',
          'lastname'  => 'Jim'
        ),`enter code here`
       123 => array(
          'id'        => 13,
          'firstname' => 'Marky',
          'lastname'  => 'Mark'
        )
      );
 
    