Mi matriz se ve a continuación en var_dump($user_jason):

'Gustav' => 
    array (size=9)
      'sum' => int 8
      'votes' => string '3' (length=1)
      'links' => null
      'comments' => string '2' (length=1)
      'topnews' => null
      'revisions' => string '3' (length=1)
      'translations' => null
      'skipped' => null
      'firstvotes' => null
  '' => 
    array (size=9)
      'sum' => int 6
      'votes' => null
      'links' => string '3' (length=1)
      'comments' => null
      'topnews' => string '3' (length=1)
      'revisions' => null
      'translations' => null
      'skipped' => null
      'firstvotes' => null
'Dennis' => 

Ahora, donde mi clave está vacía, estoy tratando de establecer esa clave como "anónima", pero no estoy seguro de cómo lograrlo. Estoy intentando como a continuación:

foreach ($user_jason as $key => $value) {

      if(empty($key)){
         if(empty($key)){
          unset($user_jason['']);
          $key = "anonouymus";
          $user_jason[$key] = $value;
       }

      }
    }

Pero todavía está vacío, sugiera cómo puedo hacer esto. Perdón por preguntar, puede que esto sea fácil, pero lo estoy intentando y no puedo lograrlo.

¡Gracias!

1
jas 13 dic. 2016 a las 20:51

2 respuestas

La mejor respuesta

No es necesario el bucle:

if(isset($user_jason[''])) {
    $user_jason['anonymous'] = $user_jason[''];
}
unset($user_jason['']);
2
AbraCadaver 13 dic. 2016 a las 17:57

Código

$user_jason[$key] = $value; 

No significa que su clave vacía será reemplazada por algún valor.

Este código significa que a su matriz $user_jason se le agregará una nueva clave $key y la clave anterior (una vacía) todavía estará en su matriz. Puede desarmarlo con unset:

unset($user_jason['']);
2
u_mulder 13 dic. 2016 a las 17:57