Maison > développement back-end > tutoriel php > Comment trouver des données dans un tableau ordonné bidimensionnel en php (code)

Comment trouver des données dans un tableau ordonné bidimensionnel en php (code)

不言
Libérer: 2023-04-04 08:00:02
original
2558 Les gens l'ont consulté

Le contenu de cet article explique comment trouver des données (code) dans un tableau ordonné bidimensionnel en PHP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. .

Dans un tableau bidimensionnel (chaque tableau unidimensionnel a la même longueur), chaque ligne est triée par ordre croissant de gauche à droite et chaque colonne est triée par ordre croissant de haut en bas. Veuillez compléter une fonction, saisir un tel tableau bidimensionnel et un entier, et déterminer si le tableau contient l'entier.
1. Un tableau bidimensionnel, avec des lignes croissantes de gauche à droite et des colonnes croissantes de haut en bas
2 Définissez le coin inférieur gauche comme point de comparaison, et le plus grand est à droite de. il, donc col++, et col< =arr[0].length-1
3 Plus petit que le coin inférieur gauche est situé au-dessus, donc row--,row>=0

col=0
row=arr.length-1
while row>=0&&col<=arr[0].length-1
    if key==arr[row][col]
        return true
    elseif key>arr[row][col]
        col++
    else
        row-
return false
Copier après la connexion
<?php
//构造一个从上到下,从左到右递增的数组
$arr=array();
$flag=0;
for($i=0;$i<10;$i++){
        $flag=$i*10;
        for($j=0;$j<10;$j++){
                $flag++;
                $arr[$i][]=$flag;
        }   
}
//生成了一个1到100的二维数组

function Find($target, $array){
        $col=0;
        $row=count($array)-1;
        while($row>=0 && $col<=count($array[0])-1){
                if($target==$array[$row][$col]){
                        return array($row,$col);
                }elseif($target>$array[$row][$col]){
                        $col++;
                }else{
                        $row--;
                }   
        }   
        return false;
}
//输出行,列
var_dump(Find(50,$arr));
var_dump($arr);
Copier après la connexion
array(2) {
  [0]=>
  int(4)
  [1]=>
  int(9)
}array(10) {
  [0]=>  array(10) {
    [0]=>
    int(1)
    [1]=>
    int(2)
    [2]=>
    int(3)
    [3]=>
    int(4)
    [4]=>
    int(5)
    [5]=>
    int(6)
    [6]=>
    int(7)
    [7]=>
    int(8)
    [8]=>
    int(9)
    [9]=>
    int(10)
  }
  [1]=>  array(10) {
    [0]=>
    int(11)
    [1]=>
    int(12)
    [2]=>
    int(13)
    [3]=>
    int(14)
    [4]=>
    int(15)
    [5]=>
    int(16)
    [6]=>
    int(17)
    [7]=>
    int(18)
    [8]=>
    int(19)
    [9]=>
    int(20)
  }
  [2]=>  array(10) {
    [0]=>
    int(21)
    [1]=>
    int(22)
    [2]=>
    int(23)
    [3]=>
    int(24)
    [4]=>
    int(25)
    [5]=>
    int(26)
    [6]=>
    int(27)
    [7]=>
    int(28)
    [8]=>
    int(29)
    [9]=>
    int(30)
  }
  [3]=>  array(10) {
    [0]=>
    int(31)
    [1]=>
    int(32)
    [2]=>
    int(33)
    [3]=>
    int(34)
    [4]=>
    int(35)
    [5]=>
    int(36)
    [6]=>
    int(37)
    [7]=>
    int(38)
    [8]=>
    int(39)
    [9]=>
    int(40)
  }
  [4]=>  array(10) {
    [0]=>
    int(41)
    [1]=>
    int(42)
    [2]=>
    int(43)
    [3]=>
    int(44)
    [4]=>
    int(45)
    [5]=>
    int(46)
    [6]=>
    int(47)
    [7]=>
    int(48)
    [8]=>
    int(49)
    [9]=>
    int(50)
  }
  [5]=>  array(10) {
    [0]=>
    int(51)
    [1]=>
    int(52)
    [2]=>
    int(53)
    [3]=>
    int(54)
    [4]=>
    int(55)
    [5]=>
    int(56)
    [6]=>
    int(57)
    [7]=>
    int(58)
    [8]=>
    int(59)
    [9]=>
    int(60)
  }
  [6]=>  array(10) {
    [0]=>
    int(61)
    [1]=>
    int(62)
    [2]=>
    int(63)
    [3]=>
    int(64)
    [4]=>
    int(65)
    [5]=>
    int(66)
    [6]=>
    int(67)
    [7]=>
    int(68)
    [8]=>
    int(69)
    [9]=>
    int(70)
  }
  [7]=>  array(10) {
    [0]=>
    int(71)
    [1]=>
    int(72)
    [2]=>
    int(73)
    [3]=>
    int(74)
    [4]=>
    int(75)
    [5]=>
    int(76)
    [6]=>
    int(77)
    [7]=>
    int(78)
    [8]=>
    int(79)
    [9]=>
    int(80)
  }
  [8]=>  array(10) {
    [0]=>
    int(81)
    [1]=>
    int(82)
    [2]=>
    int(83)
    [3]=>
    int(84)
    [4]=>
    int(85)
    [5]=>
    int(86)
    [6]=>
    int(87)
    [7]=>
    int(88)
    [8]=>
    int(89)
    [9]=>
    int(90)
  }
  [9]=>  array(10) {
    [0]=>
    int(91)
    [1]=>
    int(92)
    [2]=>
    int(93)
    [3]=>
    int(94)
    [4]=>
    int(95)
    [5]=>
    int(96)
    [6]=>
    int(97)
    [7]=>
    int(98)
    [8]=>
    int(99)
    [9]=>
    int(100)
  }
}
Copier après la connexion
Recommandations associées :

Tri à bulles PHP Recherche binaire Recherche séquentielle Explication détaillée de la fonction de l'algorithme de tri de tableaux bidimensionnels

Tri PHP de tableaux bidimensionnels Code pour le tri alphabétique de tableaux bidimensionnels

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!

Étiquettes associées:
source:php.cn
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
Derniers numéros
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal