PHP - группировка массива по значению подмассива (индексированный массив) - PullRequest
0 голосов
/ 15 февраля 2020

Мне нужно сгруппировать массив по значению его подмассива.

только что прошел по этой ссылке.

Группировать массив по значениям подмассива

Но здесь значение подмассива имеет ключи. В моем случае у нас нет ключа. Только проиндексированные ключи. Ниже приведен мой массив

Array
(
    [0] => Array
        (
            [0] => 14. Remarketing Bengaluru
            [1] => RM Web
            [2] => Ludhiana
            **[3] => Display Only**
            [4] => INR
            [5] => 6
        )

    [1] => Array
        (
            [0] => 12. Other Search ROTN
            [1] => 01. Eye glass Shapes
            [2] => Tiruchirappalli
            **[3] => Search Only**
            [4] => INR
            [5] => 144
        )

    [2] => Array
        (
            [0] => 10. Brand ROTN
            [1] => 03. Brand + Keywords
            [2] => Erode
            **[3] => Search Only**
            [4] => INR
            [5] => 24
        )

    [3] => Array
        (
            [0] => 11. Competitors ROTN
            [1] => 02. Titan Eye Plus
            [2] => Thoothukudi
            **[3] => Search Only**
            [4] => INR
            [5] => 1
        )

    [4] => Array
        (
            [0] => 14. Remarketing Bengaluru
            [1] => RM Web
            [2] => Chandigarh
            **[3] => Display Only**
            [4] => INR
            [5] => 6
        )
)

Ожидается:

Необходимо сгруппировать вышеуказанный массив со звездным значением. Например. Нужно сгруппировать массив с индексированным ключом массива 3 .

Сгруппированный массив должен иметь вид Только отображение, Только поиск

1 Ответ

1 голос
/ 17 февраля 2020

Это решение из Группировать массив по значениям подмассива . Я только что заменил 'id' на 3.

$old_arr = array( 
  array( "14. Remarketing", "RM", "Lu", "Display Only", "INR", "6" ), 
  array( "12. Other", "Shapes", "Ti", "Search Only", "INR", "144" ), 
  array( "10. Brand", "Brand", "E", "Search Only", "INR", "24" ), 
  array( "11. Competitors", "Titan", "Th", "Search Only", "INR", "1"), 
);

foreach ($old_arr as $key => $item) {
   $arr[$item[3]][$key] = $item;
}

echo '<pre>';
var_export($arr);

Результат:

array (
  'Display Only' => 
  array (
    0 => 
    array (
      0 => '14. Remarketing',
      1 => 'RM',
      2 => 'Lu',
      3 => 'Display Only',
      4 => 'INR',
      5 => '6',
    ),
  ),
  'Search Only' => 
  array (
    1 => 
    array (
      0 => '12. Other',
      1 => 'Shapes',
      2 => 'Ti',
      3 => 'Search Only',
      4 => 'INR',
      5 => '144',
    ),
    2 => 
    array (
      0 => '10. Brand',
      1 => 'Brand',
      2 => 'E',
      3 => 'Search Only',
      4 => 'INR',
      5 => '24',
    ),
    3 => 
    array (
      0 => '11. Competitors',
      1 => 'Titan',
      2 => 'Th',
      3 => 'Search Only',
      4 => 'INR',
      5 => '1',
    ),
  ),
) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...