2016-12-13 8 views
1

私の配列は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' => 

は今、私は「匿名」として、そのキーを設定しようとしていますが、私はこれを達成する方法がわからないです。私は以下のようにしようとしています:

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

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

     } 
    } 

しかし、その空のまま、私はこれをどのように行うことができます提案してください。申し訳ありませんが、これは簡単かもしれませんが、私はこれを達成しようと努力しておりません。

ありがとう!

+1

空のキーが配列であるが、新しいキーがあまりにも追加されています。要素の設定を解除するには、unset関数を使用します。 –

+0

ああ、私は新しいキーが "匿名"として追加されているのを見ることができるので、空のキーを解除する必要があります!ありがとう! – jas

+0

それは今のように今働いた! – jas

答えて

2

ループの必要はありませ:

if(isset($user_jason[''])) { 
    $user_jason['anonymous'] = $user_jason['']; 
} 
unset($user_jason['']); 
+0

ありがとうございました! – jas

2

コード

$user_jason[$key] = $value; 

はあなたの空のキーは、いくつかの値に置き換えられますことを意味するものではありません。

このコードは、$user_jason配列に新しいキー$keyが追加され、以前のキー(空の文字)が配列に残っていることを意味します。あなたはunsetでそれを設定解除することはできません。

unset($user_jason['']); 
+0

説明してくれてありがとう! – jas

関連する問題