Maison développement back-end tutoriel php php对二维数组按指定键值key排序示例代码_php技巧

php对二维数组按指定键值key排序示例代码_php技巧

May 17, 2016 am 08:52 AM
二维数组

复制代码 代码如下:

function array_sort($array, $key){
if(is_array($array)){
$key_array = null;
$new_array = null;
for( $i = 0; $i $key_array[$array[$i][$key]] = $i;
}
ksort($key_array);
$j = 0;
foreach($key_array as $k => $v){
$new_array[$j] = $array[$v];
$j++;
}
unset($key_array);
return $new_array;
}else{
return $array;
}
}

PHP二维数组按键值排序

PHP 中 array_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。关联键名保持不变,但数字键名会被重新索引。输入数组被当成一个表的列并以行来排序,第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话就按照下一个输入数组中相应值的大小来排序,依此类推。

但是如果需要排序的数组是一个二维数组,需要按照数组的键值排序,如下面这个二维数组,需要按照sort键名来排序,那么array_multisort() 就无法直接实现了:

$data[5] = array('volume' => 67, 'edition' => 2);
$data[4] = array('volume' => 86, 'edition' => 1);
$data[2] = array('volume' => 85, 'edition' => 6);
$data[3] = array('volume' => 98, 'edition' => 2);
$data[1] = array('volume' => 86, 'edition' => 6);
$data[6] = array('volume' => 67, 'edition' => 7);
// 准备要排序的数组
foreach ($data as $k => $v) {
  $edition[] = $v['edition'];
}
array_multisort($edition, SORT_ASC, $data);
print_r($data);
Copier après la connexion

将输出:

Array
(
  [0] => Array
    (
      [volume] => 86
      [edition] => 1
    )

  [1] => Array
    (
      [volume] => 67
      [edition] => 2
    )

  [2] => Array
    (
      [volume] => 98
      [edition] => 2
    )

  [3] => Array
    (
      [volume] => 85
      [edition] => 6
    )

  [4] => Array
    (
      [volume] => 86
      [edition] => 6
    )

  [5] => Array
    (
      [volume] => 67
      [edition] => 7
    )

)
Copier après la connexion

为了不破坏原有的key,写了一个排序函数,仅支持二维数组。

/**
* 根据数组中的某个键值大小进行排序,仅支持二维数组
* 
* @param array $array 排序数组
* @param string $key 键值
* @param bool $asc 默认正序
* @return array 排序后数组
*/
function arraySortByKey(array $array, $key, $asc = true) 
{
  $result = array();
  // 整理出准备排序的数组
  foreach ( $array as $k => &$v ) {
    $values[$k] = isset($v[$key]) ? $v[$key] : '';
  }
  unset($v);
  // 对需要排序键值进行排序
  $asc ? asort($values) : arsort($values);
  // 重新排列原有数组
  foreach ( $values as $k => $v ) {
    $result[$k] = $array[$k];
  }
 
  return $result;
}
Copier après la connexion
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser la fonction array_sum en PHP pour calculer la somme des éléments dans une colonne d'un tableau à deux dimensions Comment utiliser la fonction array_sum en PHP pour calculer la somme des éléments dans une colonne d'un tableau à deux dimensions Jun 26, 2023 pm 12:45 PM

En programmation PHP, la fonction array_sum est une fonction très pratique qui permet de calculer la somme de tous les éléments d'un tableau. Cependant, lorsque nous devons calculer la somme d’une colonne d’éléments dans un tableau à deux dimensions, nous pouvons rencontrer des problèmes. Cet article explique comment utiliser la fonction array_sum en PHP pour calculer la somme des éléments dans une colonne d'un tableau à deux dimensions. Tout d’abord, nous devons comprendre le concept de tableaux bidimensionnels. Un tableau bidimensionnel est un tableau contenant plusieurs tableaux, qui peut être considéré comme un tableau. Chaque tableau représente un tableau

Comment convertir un tableau php bidimensionnel en un tableau unidimensionnel Comment convertir un tableau php bidimensionnel en un tableau unidimensionnel Aug 03, 2023 am 11:14 AM

Comment convertir un tableau php de deux dimensions en un tableau unidimensionnel : 1. Utilisez le parcours en boucle pour parcourir le tableau bidimensionnel et ajoutez chaque élément au tableau unidimensionnel ; 2. Utilisez la fonction "array_merge" pour fusionner plusieurs éléments ; tableaux en Un tableau, passez le tableau bidimensionnel en paramètre à la fonction "array_merge" pour le convertir en un tableau unidimensionnel ; 3. Grâce à la fonction "array_reduce", toutes les valeurs du tableau peuvent être traitées. via une fonction de rappel, et a finalement renvoyé un résultat.

Comment obtenir la valeur d'une colonne spécifiée dans un tableau à deux dimensions en utilisant la fonction array_column en PHP Comment obtenir la valeur d'une colonne spécifiée dans un tableau à deux dimensions en utilisant la fonction array_column en PHP Jun 26, 2023 pm 01:32 PM

En programmation PHP, nous avons souvent besoin d'opérer sur des tableaux, notamment pour obtenir la valeur d'une colonne spécifiée. PHP fournit une fonction très pratique - array_column, qui peut nous aider à obtenir rapidement la valeur d'une colonne spécifiée dans un tableau à deux dimensions. Cet article explique comment utiliser la fonction array_column. Utilisation de base de la fonction array_column : array_column(array$array,mixed$column_key[

Comment inverser un tableau à deux dimensions en php Comment inverser un tableau à deux dimensions en php Dec 26, 2022 am 09:38 AM

Comment inverser un tableau à deux dimensions en php : 1. Créez un exemple de fichier php ; 2. Définissez un tableau à deux dimensions ; 3. Inversez le tableau via la fonction "array_reverse($a,true);" "print_r" pour imprimer Inversez simplement le tableau bidimensionnel.

Comment convertir un tableau 2D en tableau 1D en PHP Comment convertir un tableau 2D en tableau 1D en PHP Jul 07, 2023 pm 06:42 PM

Comment convertir un tableau bidimensionnel en tableau unidimensionnel en PHP Dans le développement PHP, vous rencontrez souvent des scénarios dans lesquels vous devez convertir un tableau bidimensionnel en un tableau unidimensionnel. Cet article présentera plusieurs méthodes courantes pour vous aider à accomplir facilement cette tâche. Méthode 1 : Utiliser le parcours en boucle La méthode la plus simple et la plus directe consiste à utiliser une boucle pour parcourir un tableau à deux dimensions et à ajouter chaque élément à un nouveau tableau à une dimension. Voici un exemple de code utilisant cette méthode : functionflattenArray($array){$result

Explication détaillée des fonctions PHP 5.5 : Comment utiliser la fonction array_column pour extraire une certaine colonne dans un tableau à deux dimensions Explication détaillée des fonctions PHP 5.5 : Comment utiliser la fonction array_column pour extraire une certaine colonne dans un tableau à deux dimensions Jul 30, 2023 am 08:45 AM

Explication détaillée des fonctions PHP5.5 : Comment utiliser la fonction array_column pour extraire une certaine colonne dans un tableau à deux dimensions. Dans la version PHP5.5, la fonction array_column a été introduite. C'est une fonction très pratique qui peut extraire une valeur spécifiée. colonne de données d’un tableau à deux dimensions. Cela s'avère pratique lorsque nous travaillons avec de grandes quantités de données, car nous pouvons obtenir rapidement les données dont nous avons besoin. La syntaxe de base de la fonction array_column est la suivante : arrayarray_column(array$

PHP a-t-il des tableaux bidimensionnels ? PHP a-t-il des tableaux bidimensionnels ? Aug 03, 2023 pm 02:45 PM

PHP a un tableau à deux dimensions, qui est un type spécial de tableau qui peut stocker d'autres tableaux en tant qu'éléments. La déclaration et l'accès à un tableau à deux dimensions sont très simples. Vous pouvez utiliser la fonction "array" pour créer un tableau à deux dimensions. tableau dimensionnel et utiliser l'indexation ou l'association, comme éléments, sont très utiles dans la programmation pratique et peuvent être utilisés pour traiter diverses structures de données complexes.

En programmation C, travailler avec des tableaux 2D au moment de l'exécution En programmation C, travailler avec des tableaux 2D au moment de l'exécution Sep 13, 2023 pm 11:29 PM

Question Écrivez un programme C qui utilise la compilation d'exécution pour calculer la somme et le produit de tous les éléments d'un tableau à deux dimensions. La compilation ou l'initialisation du runtime de la solution est également appelée allocation dynamique. L'allocation de mémoire au moment de l'exécution (runtime) est appelée allocation dynamique de mémoire. Les fonctions calloc() et malloc() prennent en charge l'allocation dynamique de mémoire. Les fonctions calloc() et malloc() prennent en charge l'allocation dynamique de mémoire. p>Dans ce programme, nous calculerons la somme de tous les éléments d'un tableau 2D et le produit de tous les éléments au moment de l'exécution. La logique est utilisée pour calculer la somme de tous les éléments d'un tableau 2D - printf("Sumarrayis:");for(i=0;i<2;i++){&amp

See all articles