1. Главная
  2. Блог
  3. Полезные статьи
  4. Изменение порядка элементов в массиве

Изменение порядка элементов в массиве

Часто может возникнуть потребность изменить порядок элементов на сайте. Например, они с помощью массива выводятся на сайте в алфавитном порядке, но один из них всегда должен быть первым.

array.jpg

Для этого необходимо найти файл php содержащий массив и внести в него изменения.


$myArray = array('one' => $myArray['one']) + $myArray;
// or      ['one' => $myArray['one']] + $myArray;

выше приведен, пример когда из имеющегося ассоциативного массива нужный элемент с ключами добавляется  в отдельный массив и складывается с исходным массивом. Оператор + в данном случае добавляет правый массив к левому. Когда элементы существуют в обоих массивах элементы из левого массива добавляются в объединенный массив, а элементы из правого массива игнорируются. Т.е. если в левом массиве мы разместили требуемый элемент, то в объединенном массиве он попадет на первое место и не будет продублирован.

В своем php файле мы находим код, формирующий массив:


		// Array tabs title
		$tab_titles = ylp_get_list_tab_title($query_types, $categories, $tags);
		if(empty($tab_titles)){ return;}
		if ($query_types == 'category'){
			if( !empty($categories) ){
				$tabs = explode(',', $categories);
			}else{
				$tabs = ylp_get_cats();
			}
		}else if($query_types == 'tags'){
			if( !empty($tags) ){
				$tabs = explode(',', $tags);
			}else{
				$tabs = ylp_get_tags();
			}
		}

Ниже добавляем код для вывода всего массива на странице сайта:


print "<pre>"; 
print_r($tab_titles);
print "</pre>";

Перезагружаем страницу, копируем нужный элемент с ключами из выведенного ассоциативного массива


...
    [rekomendovano-proizvoditelem] => Array
        (
            [name] => rekomendovano-proizvoditelem
            [title] => Рекомендовано производителем
            [short_title] => Рекомендовано производителем
        )
...

Комментируем или удаляем код для вывода всего массива на странице и вместо него размещаем код


		//меняем порядок массива
		
		$tab_titles = Array (
    'rekomendovano-proizvoditelem' => Array
        (
            'name' => 'rekomendovano-proizvoditelem',
            'title' => 'Рекомендовано производителем',
            'short_title'=> 'Рекомендовано производителем',
        )) + $tab_titles;

Задача решена. Один из элементов ассоциативного массива всегда будет выводиться первым.


Комментарии
Name
Email
Phone
Ваше имя
Ваш email
Оставить комментарий
Нажмите для звонка
Хотите заказать сайт?
Обращайтесь любым удобным способом и мы поможем подобрать интересный вариант для Вас!