Задать вопрос

Как переделать массив в PHP чтобы ключем стало определенное значение из массива?

Добрый день! Есть массив вида:
'likes' => 
        array (size=5)
          0 => 
            array (size=4)
              'idea_id' => string '1' (length=1)
              'user_id' => string '4' (length=1)
              'value' => string '1' (length=1)
              'created' => string '2016-11-16 12:53:11' (length=19)
          1 => 
            array (size=4)
              'idea_id' => string '1' (length=1)
              'user_id' => string '7' (length=1)
              'value' => string '1' (length=1)
              'created' => string '2016-11-16 13:42:37' (length=19)
          2 => 
            array (size=4)
              'idea_id' => string '1' (length=1)
              'user_id' => string '8' (length=1)
              'value' => string '1' (length=1)
              'created' => string '2016-11-21 14:18:51' (length=19)
          3 => 
            array (size=4)
              'idea_id' => string '1' (length=1)
              'user_id' => string '10' (length=2)
              'value' => string '1' (length=1)
              'created' => string '2016-11-21 16:05:58' (length=19)
          4 => 
            array (size=4)
              'idea_id' => string '1' (length=1)
              'user_id' => string '11' (length=2)
              'value' => string '1' (length=1)
              'created' => string '2016-11-21 16:07:55' (length=19)


Как сделать чтобы ключем стало значение user_id?
Нужно:
'likes' => 
        array (size=5)
          4 => 
            array (size=4)
              'idea_id' => string '1' (length=1)
              'user_id' => string '4' (length=1)
              'value' => string '1' (length=1)
              'created' => string '2016-11-16 12:53:11' (length=19)
          7 => 
            array (size=4)
              'idea_id' => string '1' (length=1)
              'user_id' => string '7' (length=1)
              'value' => string '1' (length=1)
              'created' => string '2016-11-16 13:42:37' (length=19)
          8 => 
            array (size=4)
              'idea_id' => string '1' (length=1)
              'user_id' => string '8' (length=1)
              'value' => string '1' (length=1)
              'created' => string '2016-11-21 14:18:51' (length=19)
          10 => 
            array (size=4)
              'idea_id' => string '1' (length=1)
              'user_id' => string '10' (length=2)
              'value' => string '1' (length=1)
              'created' => string '2016-11-21 16:05:58' (length=19)
          11 => 
            array (size=4)
              'idea_id' => string '1' (length=1)
              'user_id' => string '11' (length=2)
              'value' => string '1' (length=1)
              'created' => string '2016-11-21 16:07:55' (length=19)
  • Вопрос задан
  • 151 просмотр
Подписаться 1 Оценить Комментировать
Решения вопроса 1
$likes =
        [
				0 => [
						'idea_id' => '1',
						'user_id' => '4',
						'value' => '1',
						'created' => '2016-11-16 12:53:11'
				],
				1 => [
						'idea_id' => '1',
						'user_id' => '7',
						'value' => '1',
						'created' => '2016-11-16 13:42:37'
				],
				2 => [
						'idea_id' => '1',
						'user_id' => '8',
						'value' => '1',
						'created' => '2016-11-21 14:18:51'
				],
				3 => [
						'idea_id' => '1',
						'user_id' => '10',
						'value' => '1',
						'created' => '2016-11-21 16:05:58'
				],
				4 => [
						'idea_id' => '1',
						'user_id' => '11',
						'value' => '1',
						'created' => '2016-11-21 16:07:55'
				]
		];

$likes = array_column($likes, null, 'user_id');

echo '<pre>';
print_r($likes);
echo '</pre>';
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
qork
@qork
{ background: #F00B42 }
foreach($likes as $like){
	$newArr[$like['user_id']] = $like;	
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы