Maison >développement back-end >Problème PHP >Comment trier le numéro IP donné en PHP

Comment trier le numéro IP donné en PHP

藏色散人
藏色散人original
2021-08-13 11:02:123373parcourir

Concernant le problème de tri en PHP, vous pouvez d'abord lire le chapitre "Tri des tableaux PHP" dans le manuel d'introduction de PHP Après avoir une certaine compréhension du tri des tableaux, cet article vous présentera comment trier les IP données.

Commençons par le thème de cet article :

Le code PHP est le suivant :

<?php
function sort_subnets ($x, $y) {
    $x_arr = explode(&#39;.&#39;, $x);
    $y_arr = explode(&#39;.&#39;, $y);
    foreach (range(0,3) as $i) {
        if ( $x_arr[$i] < $y_arr[$i] ) {
            return -1;
        }
        elseif ( $x_arr[$i] > $y_arr[$i] ) {
            return 1;
        }
    }
    return -1;
}

$subnet_list =
    array(&#39;192.169.12&#39;,
        &#39;192.167.11&#39;,
        &#39;192.169.14&#39;,
        &#39;192.168.13&#39;,
        &#39;192.167.12&#39;,
        &#39;122.169.15&#39;,
        &#39;192.167.16&#39;
    );
usort($subnet_list, &#39;sort_subnets&#39;);
var_dump($subnet_list);

Le résultat est :

array (size=7)
  0 => string &#39;122.169.15&#39; (length=10)
  1 => string &#39;192.167.11&#39; (length=10)
  2 => string &#39;192.167.12&#39; (length=10)
  3 => string &#39;192.167.16&#39; (length=10)
  4 => string &#39;192.168.13&#39; (length=10)
  5 => string &#39;192.169.12&#39; (length=10)
  6 => string &#39;192.169.14&#39; (length=10)

Comment trier le numéro IP donné en PHP

Ici, je vais vous présenter les fonctions impliquées dans le code ci-dessus :

explode( )La fonction consiste à utiliser une chaîne pour diviser une autre chaîne et renvoyer un tableau composé de chaînes. La syntaxe est "explode(separator,string,limit)", "separator "Le paramètre ne peut pas être une chaîne vide. La fonction <code>explode()函数的作用是使用一个字符串分割另一个字符串,并返回由字符串组成的数组,语法是“explode(separator,string,limit)”,"separator" 参数不能是一个空字符串。

参数分别表示:
separator:在哪里分割字符串。
string:要分割的字符串。
limit可选:所返回的数组元素的数目。
可能的值有:
大于0:返回包含最多 limit 个元素的数组;
小于0:返回包含除了最后的 -limit 个元素以外的所有元素的数组;
0:会被当做 1, 返回包含一个元素的数组。

range()函数用于创建一个包含指定范围的元素的数组,语法是“range(low,high,step)”;该函数返回一个包含从 low 到 high 之间的元素的数组;如果 low 参数大于 high 参数,则创建的数组将是从 high 到 low。

usort()用于使用用户自定义的比较函数对数组进行排序,语法是“usort(array,myfunction);rrreee

range() est utilisée pour créer un tableau contenant des éléments dans une plage spécifiée. La syntaxe est "range(low,high,step)" ; la fonction renvoie Un tableau contenant des éléments de bas en haut ; si l'argument bas est supérieur à l'argument haut, le tableau créé sera de haut en bas.

usort() est utilisé pour trier les tableaux à l'aide de fonctions de comparaison définies par l'utilisateur. La syntaxe est "usort(array,myfunction);" et renvoie en cas de succès. , ou FALSE en cas d'échec.

Enfin, je voudrais recommander à tout le monde le "🎜Tutoriel vidéo PHP🎜" le plus récent et le plus complet ~ Venez apprendre ! 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
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