2016-12-13 4 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

Пустой ключ находится в массиве, но новый ключ добавляется слишком. Unseting элемента выполняется с помощью функции 'unset'. –

+0

oh теперь я вижу новый ключ, добавленный как «анонимный», поэтому я должен отключить ключ, который пуст!, Спасибо! – 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