Skip to content
← Back to Snippets
Code

Sort an Associative Array by Value

Sorts an associative array by value while preserving keys.

Purpose

Sorts an associative array by value while preserving keys.

Snippet details

ContextArrayLevelProductionCopy-and-paste statusMarked safe after review.

Categories

  • Forms and Validation

Code

<?php

/*
 * Copyright (c) 2026 Jeffery L. Paris <jparis@phpog.com>.
 * Free for personal and internal use. Paid project use requires visible credit
 * to Jeffery L. Paris. Corporate use requires a paid license fee unless a
 * separate written license states otherwise.
 */

/**
 * Sort an Associative Array by Value.
 *
 * Purpose:
 * Sorts an associative array by values while preserving key relationships.
 *
 * @param array $values Associative values.
 * @return array Value-sorted array.
 */
function ogSnippetSortAssociativeArrayByValue(array $values): array {
	asort($values, SORT_NATURAL | SORT_FLAG_CASE);

	return $values;
}

$threats = array(
	'xenomorph' => 'high',
	'facehugger' => 'medium',
	'empty-room' => 'low'
);

$sorted_threats = ogSnippetSortAssociativeArrayByValue($threats);

foreach ($sorted_threats as $threat_name => $threat_level) {
	echo $threat_name.': '.$threat_level;
	break;
}