Acasă / Console de jocuri / Min - Găsește cea mai mică valoare. Min - Găsește cea mai mică valoare Valoarea minimă dintr-o matrice php

Min - Găsește cea mai mică valoare. Min - Găsește cea mai mică valoare Valoarea minimă dintr-o matrice php

Matricele sunt una dintre modalitățile structurate convenabile de stocare a informațiilor. Fiecare element al unui astfel de tablou are propriul său loc, propria sa cheie și valoare. Conținutul matricelor poate fi diferit, cum ar fi, de exemplu, o bază de date de numere, nume sau valori numerice simple. Vorbind de numere, ne putem confrunta cu diverse tipuri de sarcini, de exemplu, deducerea valorii maxime sau minime. Astăzi vom vorbi despre cum se rezolvă acest lucru în diferite limbaje de programare.

Găsirea celei mai mari și mai mici valori a unui tablou unidimensional în PHP

Toate tablourile diferă în structura lor. Luați în considerare două tablouri simple unidimensionale, dintre care una nu conține chei:

$my_array = array(22, 24, 37, 74, 23, 2, 10);

si unul identic cu cel precedent, dar cu chei:

$my_array = array(1 => 22, 2 => 24, 3 => 37, 4 => 74, 5 => 23, 6 => 2, 7 => 10);

Să încercăm să afișăm valorile maxime și minime ale acestei matrice. Pentru a face acest lucru, vom folosi funcții standard " max" Și " min", respectiv:

Echo max($my_array); // Printează 74 echo min($my_array); // Imprimare 2

Dacă ne uităm la a doua matrice mai detaliat, atunci, ca rezultat, putem obține cheia valorilor maxime sau minime.

Folosind o matrice ca exemplu

$my_array = array(1 => 22, 2 => 24, 3 => 37, 4 => 74, 5 => 23, 6 => 2, 7 => 10);

va arata asa:

$max = chei_matrice($matrice_mea, max($matrice_mea)); $max = $max;// Cheia valorii maxime $min = chei_matrice($matrice_mea, min($matrice_mea)); $min = $min; // Cheia de valoare minimă echo $max; // Imprimă rezultatul valorii maxime

În consecință, cheia pentru valoarea maximă este „4”, iar valoarea minimă este „6”.

Găsirea celei mai mari și mai mici valori a unui tablou multidimensional în PHP

Matricele multidimensionale se disting prin imbricarea lor. De exemplu, o matrice bidimensională ar arăta astfel fără cheile:

$my_array = array(array(22, 24, 37), array(74, 23, 2), array(10));

Și, în consecință, cu anumite chei:

$my_array = array(array(1 => 22, 2 => 24, 3 => 37), array(4 => 74, 5 => 23, 6 => 2), array(7 => 10));

În acest caz, găsirea valorilor maxime și minime este puțin dificilă, dar și posibilă.

Mai întâi, pentru a găsi aici maximul și minimul, transformăm matricea într-una unidimensională:

$out_array = matrice(); foreach($my_array as $sub_array) ( $out_array = array_merge($out_array, $sub_array); )

Designul funcționează pentru ambele opțiuni de mai sus. Și apoi, urmând exemplul unei matrice unidimensionale, vom afișa datele de care avem nevoie:

Echo max($out_array); // Printează 74 echo min($out_array); // Imprimare 2

Ca un mic bonus, voi da un exemplu de altă matrice bidimensională populară:

$my_array = array(array("id" => "1", "data" => "2018-03-19", "price" => "5",), array ("id" => "2" , "date" => "2018-03-19", "price" => "50",), array ("id" => "3", "date" => "2018-03-19", " pret" => "25",));

Prin popularitate nu mă refer la conținut, ci la un exemplu al structurii acestuia. Să presupunem că aici trebuie să scoateți valorile maxime și minime numai ale tastelor „preț”.

Primul lucru de care aveți nevoie în acest caz este să obțineți matrice nouă doar cu aceste date:

$numere = array_column($my_array, "preț");

Echo min($numere); // Imprimă 5 echo max($numere); // Tipăriți 50

Acest lucru completează munca cu matrice în PHP. Dacă dintr-o dată structura matricei dvs. este diferită și nu știți cum să o procesați, puneți întrebarea potrivită în comentarii, voi încerca să vă ajut.

Găsirea celei mai mari și mai mici valori a unei matrice unidimensionale în JavaScript

Spre deosebire de PHP, tipul de matrice în JavaScript este mult mai simplu, iar o matrice simplă unidimensională va arăta astfel:

Var my_array = ;

Nu sunt indicați indici aici. Pentru a găsi valorile maxime și minime în această matrice, vom scrie două funcții simple:

Funcția arrayMax(matrice) ( returnează matrice.reduce(funcție(a, b) ( returnează Math.max(a, b); )); ) funcția matriceMin(matrice) ( returnează matrice.reduce(funcție(a, b) ( return Math.min(a, b));

care sunt folosite pentru a găsi valorile de care avem nevoie. Utilizarea este, de asemenea, simplă:

Alert(arrayMax(my_array)); // Imprimă 74 alert(arrayMin(my_array)); // Imprimare 2

În acest caz, numerele „2” și „74” vor fi afișate pe ecran ca valori minime și maxime ale matricei.

Găsirea celei mai mari și mai mici valori a unui tablou multidimensional în JavaScript

Matricele multidimensionale în JavaScript sunt la fel de simple și arată astfel:

Var my_array = [ , , ];

Să încercăm să găsim aici maximul și minimul. Pentru început, vom scrie o funcție cu care, conform schemei cu care suntem deja familiarizați, vom reprezenta această matrice ca unidimensională:

Var out_array = ; my_array.forEach(funcție(v) ( Array.prototype.push.apply(out_array, v); ));

Și folosind obiectul " Matematică„obținem valorile de care avem nevoie:

Var min = Math.min.apply(null, out_array); // Obține 2 var max = Math.max.apply(null, out_array); // Obține 74 alerte(max); // Tipăriți 74 pe ecran

De fapt, în locul obiectului " Matematică„Puteți folosi funcțiile noastre folosite în versiunea cu o matrice unidimensională, dar pentru a înțelege că orice problemă poate fi rezolvată în mai multe moduri – aici am dat o soluție puțin diferită.

Ei bine, conform tradiției – un mic bonus. Să luăm în considerare o altă matrice multidimensională cu următoarea structură:

Var my_array = [["One", "2018-03-19", 5], ["Two", "2018-03-19", 50], ["Trei", "2018-03-19", 25 ], ];

După cum putem vedea, valorile numerice din fiecare matrice sunt pe locul trei. Să scriem un cod și să obținem valorile corespunzătoare doar din aceste date:

Var min = +Infinit; var max = -Infinit; my_array.forEach(funcție(articol) ( dacă(+articol< min) { min =+ item; // Ищем минимальное значение } }); my_array.forEach(function(item) { if(+item >max) ( max =+ item; // Se caută valoarea maximă ) )); alert(min+" "+max); // Afișează rezultatul pe ecran

Asta e tot. Nu uitați să susțineți proiectul. O mulțime de lucruri interesante vă așteaptă înainte!

obține cheia (9)

Am aceasta matrice:

Array (0 => array ("id" => "20110209172713", "Date" => "2011-02-09", "Weight" => "200",), 1 => array ("id" => "20110209172747", "Data" => "2011-02-09", "Greutate" => "180",), 2 => matrice ("id" => "20110209172827", "Data" => "2011- 02-09", "Greutate" => "175",), 3 => matrice ("id" => "20110211204433", "Data" => "11-02-2011", "Greutate" => "195 ",),)

Trebuie să extrag valorile minime și maxime ale greutății. În acest exemplu

$min_value = 175

$max_value = 200

Ai vreun ajutor despre cum să faci asta? Multumesc!

Răspunsuri

Pentru persoanele care folosesc PHP 5.5+, acest lucru se poate face mult mai ușor cu array_column . Nu e nevoie de acele matrice urâte.

Cum să obțineți valoarea maximă:

$greutate_mai mare = max(coloana_matrice($detalii, "Greutate"));

Cum să obțineți valoarea minimă

$greutate_minima = min(coloana_matrice($detalii, "Greutate"));

Opțiunea 1: mai întâi colaționați matricea pentru a obține acele numere (nu informațiile complete):

$numere = array_column($array, "greutate")

Apoi obțineți min și max:

$min = min($numere); $max = max($numere);

Opțiunea 2. (Numai dacă nu aveți PHP 5.5.) La fel ca și opțiunea 1, dar pentru a smulge valorile, utilizați array_map:

$numere = hartă_matrice(funcție($detalii) ( returnează $detalii[„Greutate”]; ), $matrice);

Opțiunea 3.

Opțiunea 4: Dacă aveți nevoie doar de min sau maxim, array_reduce() ar putea fi mai rapid:

$min = array_reduce($array, function($min, $detalii) ( return min($min, $detalii["greutate"]); ), PHP_INT_MAX);

Aceasta face mai mult de min() s, dar sunt foarte rapide. PHP_INT_MAX ar trebui să înceapă la maximum și să devină din ce în ce mai scăzut. Puteți face același lucru pentru $max , dar veți începe cu 0 sau -PHP_INT_MAX .

matrice ("id" => "20110209172713", "Data" => "2011-02-09", "Greutate" => "200",), 1 => matrice ("id" => "20110209172747", " Data" => "2011-02-09", "Greutate" => "180", 2 => matrice ("id" => "20110209172827", "Data" => "2011-02-09", "Greutate" => "175",), 3 => matrice ("id" => "20110211204433", "Data" => "2011-02-11", "Greutate" => "195",),) ; foreach ($array ca $cheie => $valoare) ( $rezultat[$cheie] = $valoare[„Greutate”]; ) $min = min($rezultat); $max = max($rezultat); echo "Matricea în număr Minnumum:".$min."
"; echo " Matricea în Număr maxim: ".$max."
"; ?>

Foreach ($array ca $k => $v) ( $tArray[$k] = $v["Greutate"]; ) $min_value = min($tArray); $max_value = max($tArray);

imprimați rapid cinci numere maxime și minime dintr-o matrice fără a utiliza matrice de sortare în php:-

Lista celor mai ridicate șapte temperaturi:-"; $m= max($array); for($i=1; $i<7 ; $i++) { $m[$i]=max(array_diff($array,$m)); } foreach ($m as $key =>$valoare) ( ​​echo " ".$valoare; ) echo "
Lista celor mai scăzute șapte temperaturi: "; $mi= min($array); for($i=1; $i<7 ; $i++) { $mi[$i]=min(array_diff($array,$mi)); } foreach ($mi as $key =>$valoare) ( ​​echo " ".$valoare; ) ?>

Ce zici fără a utiliza o funcție predefinită precum min sau max?

$arr = ; $val = $arr; $n = count($arr); pentru($i=1;$i<$n;$i++) { if($val<$arr[$i]) { $val = $val; } else { $val = $arr[$i]; } } print($val);

Este interesant de remarcat că ambele soluții de mai sus folosesc stocare suplimentară sub formă de matrice (prima dintre ele și a doua matrice) și apoi găsiți min și max folosind matricea „extra storage”. În timp ce acest lucru ar putea fi acceptabil în lumea reală a programării (cine dă doi biți despre stocarea „extra”?), ți-ar obține un „C” în Programare 101.

Problema găsirii min și max poate fi rezolvată cu ușurință cu doar două sloturi de memorie suplimentare

$primul = intval($input[„Greutate”]); $min = $primul ; $max = $primul ; foreach($input ca $date) ($greutate = intval($date[„Greutate”]); if($greutate<= $min) { $min = $weight ; } if($weight >$max) ( $max = $greutate ; ) ) echo " min = $min și max = $max \n " ;

$num = matrice (0 => matrice ("id" => "20110209172713", "Data" => "2011-02-09", "Greutate" => "200"), 1 => matrice ("id" => "20110209172747", "Data" => "2011-02-09", "Greutate" => "180", 2 => matrice ("id" => "20110209172827", "Data" => "2011 - 02-09", "Greutate" => "175"), 3 => matrice ("id" => "20110211204433", "Data" => "11-02-2011", "Greutate" => "195 " ));

foreach($num as $key => $val) ( $greutate = $val["Greutate"]; ) echo max($greutate); echo min($greutate); .

Iată câteva moduri eliminați elementul din matrice folosind JavaScript Toate metodele descrise

nu modificați matricea originală

și în schimb creați unul nou.

Dacă cunoașteți indexul elementului

Să presupunem că aveți o matrice și doriți să eliminați elementul din poziția i .

O modalitate este de a folosi slice():

const items = ["a", "b", "c", "d", "e", "f"] const i = 3 const filteredItems = itemi.slice(0, i-1).concat(items. slice(i, items.length)) console.log(filteredItems)

slice() creează o nouă matrice cu indicii pe care îi primește. Pur și simplu creăm o nouă matrice - de la început până la indexul pe care vrem să-l ștergem și concatenăm o altă matrice din prima poziție după cea pe care am șters-o până la sfârșitul matricei. Dacă știi sensulÎn acest caz, o opțiune bună este să folosiți filter() care oferă mai mult

declarativ

abordare:

const item = ["a", "b", "c", "d", "e", "f"] const valueToRemove = "c" const filteredItems = items.filter(item => item !== valueToRemove) console.log(filteredItems)

Aceasta folosește funcțiile de săgeată ES6. Puteți utiliza funcțiile tradiționale pentru a accepta browsere mai vechi:

const item = ["a", "b", "c", "d", "e", "f"] const valueToRemove = "c" const filteredItems = items.filter(function(item) ( return item != = valueToRemove )) console.log(filteredItems)

sau puteți folosi Babel și converti codul ES6 înapoi în ES5 pentru a-l face mai lizibil pentru browserele mai vechi, dar scrieți JavaScript modern în codul dvs.

Eliminarea mai multor elemente

Ce se întâmplă dacă în loc de un element doriți să ștergeți mai multe elemente?

Să găsim cea mai simplă soluție.

const item = ["a", "b", "c", "d", "e", "f"] const removeItem = (items, i) => items.slice(0, i-1).concat (items.slice(i, items.length)) let filteredItems = removeItem(articole, 3) filteredItems = removeItem(filteredItems, 5) //["a", "b", "c", "d"] consola. jurnal(articole filtrate)

După valoare

Puteți căuta includerea în funcția de apel invers:

const items = ["a", "b", "c", "d", "e", "f"] const valuesToRemove = ["c", "d"] const filteredItems = items.filter(item => !valuesToRemove.includes(element)) // ["a", "b", "e", "f"] console.log(filteredItems)

Evitați mutarea matricei originale

splice() (a nu se confunda cu slice()) modifică matricea originală și ar trebui evitată.


Am aceasta matrice:

Array (0 => array ("id" => "20110209172713", "Date" => "2011-02-09", "Weight" => "200",), 1 => array ("id" => "20110209172747", "Data" => "2011-02-09", "Greutate" => "180",), 2 => matrice ("id" => "20110209172827", "Data" => "2011- 02-09", "Greutate" => "175",), 3 => matrice ("id" => "20110211204433", "Data" => "11-02-2011", "Greutate" => "195 ",),)

Trebuie să extrag valorile minime și maxime ale greutății. În acest exemplu

$min_value = 175

$max_value = 200

Ai vreun ajutor despre cum să faci asta? Multumesc!


2018-05-01 03:06

Raspunsuri:

Opțiunea 1: mai întâi colaționați matricea pentru a obține acele numere (nu informațiile complete):

$numere = array_column($array, "greutate")

Apoi obțineți min și max:

$min = min($numere); $max = max($numere);

Opțiunea 2. (Numai dacă nu aveți PHP 5.5.) La fel ca și opțiunea 1, dar pentru a smulge valorile, utilizați array_map:

$numere = hartă_matrice(funcție($detalii) ( returnează $detalii[„Greutate”]; ), $matrice);

Opțiunea 3.

Opțiunea 4: Dacă aveți nevoie de min max, array_reduce() poate fi mai rapid:

$min = array_reduce($array, function($min, $detalii) ( return min($min, $detalii["greutate"]); ), PHP_INT_MAX);

Aceasta face mai mult de min() s, dar sunt foarte rapide. PHP_INT_MAX ar trebui să înceapă la maximum și să devină din ce în ce mai scăzut. Puteți face același lucru pentru $max , dar veți începe cu 0 , sau -PHP_INT_MAX .


2018-05-01 03:11

Foreach ($array ca $k => $v) ( $tArray[$k] = $v["Greutate"]; ) $min_value = min($tArray); $max_value = max($tArray);


2018-05-01 03:09

Pentru persoanele care folosesc PHP 5.5+, acest lucru se poate face mult mai ușor cu array_column .

Cum să obțineți valoarea maximă:

$greutate_mai mare = max(coloana_matrice($detalii, "Greutate"));

Cum să obțineți valoarea minimă

$greutate_minima = min(coloana_matrice($detalii, "Greutate"));


2018-01-24 11:04

Este interesant de remarcat că ambele soluții de mai sus folosesc stocare suplimentară sub formă de matrice (prima dintre ele și a doua matrice) și apoi găsiți min și max folosind matricea „extra storage”. În timp ce acest lucru ar putea fi acceptabil în lumea reală a programării (cine dă doi biți despre stocarea „extra”?), ți-ar obține un „C” în Programare 101.

Problema găsirii min și max poate fi rezolvată cu ușurință cu doar două sloturi de memorie suplimentare

$primul = intval($input[„Greutate”]); $min = $primul ; $max = $primul ; foreach($input ca $date) ($greutate = intval($date[„Greutate”]); if($greutate<= $min) { $min = $weight ; } if($weight >$max) ( $max = $greutate ; ) ) echo " min = $min și max = $max \n " ;


2018-05-01 06:08

$num = matrice (0 => matrice ("id" => "20110209172713", "Data" => "2011-02-09", "Greutate" => "200"), 1 => matrice ("id" => "20110209172747", "Data" => "2011-02-09", "Greutate" => "180", 2 => matrice ("id" => "20110209172827", "Data" => "2011 - 02-09", "Greutate" => "175"), 3 => matrice ("id" => "20110211204433", "Data" => "11-02-2011", "Greutate" => "195 " ));


2018-01-10 06:44

matrice ("id" => "20110209172713", "Data" => "2011-02-09", "Greutate" => "200",), 1 => matrice ("id" => "20110209172747", " Data" => "2011-02-09", "Greutate" => "180", 2 => matrice ("id" => "20110209172827", "Data" => "2011-02-09", "Greutate" => "175",), 3 => matrice ("id" => "20110211204433", "Data" => "2011-02-11", "Greutate" => "195",),) ; foreach ($array ca $cheie => $valoare) ( $rezultat[$cheie] = $valoare[„Greutate”]; ) $min = min($rezultat); $max = max($rezultat); echo "Matricea în număr Minnumum:".$min."
"; echo " Matricea în Număr maxim: ".$max."
"; ?>


2017-11-11 19:33

$Location_Category_array = array(5,50,7,6,1,7,7,30,50,50,50,40,50,9,9,11,2,2,2,2,2,11,21 ,21,1,12,1,5); asort($Location_Category_array); $count=array_count_values($Location_Category_array);//Numărează valorile din matrice, returnează tabloul asociat print_r($count);
$maxsize = 0;
$maxvalue = 0;

foreach($conta ca $a=>$y)( echo "

".$a."=".$y; if($y>=$maxvalue)( $maxvalue = $y; if($a>$maxsize)( $maxsize = $a; ) ) ) echo " max = ".$maxsize;

(PHP 4, PHP 5, PHP 7)

min — Găsește cea mai mică valoare Descriere Găsește cea mai mică valoare Dacă se transmite un singur argument - o matrice de numere,

Comentariu:

Valorile de diferite tipuri sunt comparate folosind reguli standard de comparare. De exemplu, un șir nenumeric ( şir) va fi comparat cu un număr întreg ( întreg) de parcă ar fi egal 0 , dar mai multe rânduri ( şir) vor fi comparate alfabetic. Valoarea returnată va păstra tipul original al variabilei, fără conversie.

Valori returnate

Funcţie Găsește cea mai mică valoare returnează valoarea parametrului care este considerat „cel mai mic” conform regulilor standard de comparație. Dacă mai multe valori diferite tipuri sunt egali unul cu celălalt (adică 0 Şi "abc"), atunci primul va fi returnat.

Exemple

Exemplul #1 Exemplu de utilizare Găsește cea mai mică valoare

echo min(2, 3, 1, 6, 7); // 1
echo min (matrice (2 , 4 , 5 )); // 2

// Șirul „hello”, în comparație cu int, este tratat ca 0
// Deoarece ambele valori sunt egale, ordinea parametrilor determină rezultatul
echo min(0, "bună ziua"); // 0
echo min ("bună ziua", 0); // Buna ziua

// Aici comparăm -1< 0, поэтому -1 является наименьшим значением
echo min ("bună ziua", - 1); // -1

// Când se compară matrice de lungimi diferite, min va returna cel mai scurt
$val = min (array(2 , 2 , 2 ), array(1 , 1 , 1 , 1 )); // matrice (2, 2, 2)

// Mai multe matrice de aceeași lungime sunt comparate de la stânga la dreapta
// pentru acest exemplu: 2 == 2, dar 4< 5
$val = min (array(2 , 4 , 8 ), array(2 , 5 , 1 )); // matrice (2, 4, 8)

// Dacă se compară un tablou și un non-matrice, tabloul nu va fi returnat niciodată
// deoarece tablourile sunt considerate mai mari decât toate celelalte valori
$val = min ("șir" , array(2 , 5 , 7 ), 42 ); //şir

// Dacă un argument este NULL sau boolean, va fi comparat cu celelalte
// folosind regula FALSE< TRUE, учитывая остальные типы аргументов
// În exemplul dat, -10 și 10 sunt tratate ca TRUE
$val = min (- 10 , FALSE , 10 ); // FALS
$val = min (- 10 , NULL , 10 ); // NULL

// pe de altă parte, 0 este tratat ca FALS, deci este „mai puțin” decât TRUE
$val = min(0, ADEVĂRAT); // 0
?>

Am o matrice în acest format:

Array ( => Array ( => 117 => Networking => 16) => Array ( => 188 => FTP => 23) => Array ( => 189 => Internet => 48))

Este acolo cale bună obțineți valorile minime și maxime ale „numărului”? Aș putea face acest lucru folosind mai multe bucle, dar m-am gândit că ar putea exista o modalitate mai bună.

Spre deosebire de altele, nu puteți folosi funcțiile min() / max() pentru această problemă, deoarece aceste funcții nu înțeleg matricele de date (matrice) transmise acestora. Aceste funcții funcționează numai pentru elementele matrice scalare.

ÎNCEPE IMAGINEA

Motivul pentru care utilizarea min() și max() pare să dea răspunsul corect este că tablourile sunt transformate în numere întregi, ceea ce este un comportament nedefinit:

Comportamentul de conversie la număr întreg nu este definit pentru alte tipuri. Nu vă bazați pe niciun comportament observat, deoarece se poate schimba fără avertisment.

Declarația mea de mai sus despre tipar a fost greșită. De fapt, min() și max() funcționează cu matrice, dar nu în modul în care OP are nevoie de ele pentru a funcționa. Când utilizați min() și max() cu mai multe matrice sau o matrice de elemente de matrice, comparați elementele element cu element de la stânga la dreapta:

$val = min(array(2, 4, 8), array(2, 5, 1)); // array(2, 4, 8) /* * primul element în comparație cu primul element: 2 == 2 * al doilea element în comparație cu al doilea element: 4< 5 * first array is considered the min and is returned */

Tradus în problemă, OP arată de ce utilizarea directă a min() și max() pare să dea rezultatul corect. Primele elemente ale matricei sunt id, deci min() și max() le compară mai întâi, apropo, ducând la rezultatul corect, deoarece cel mai mic id este cel care are cel mai mic număr și cel mai mare id este cel care are cel mai mare număr.

TERMINARE EDITARE

Modul corect este să folosiți o buclă.

$a = array(array("id" => 117, "name" => "Rețea", "count" => 16), array("id" => 188, "name" => "FTP", " count" => 23), array("id" => 189, "name" => "Internet", "count" => 48)); $min = PHP_INT_MAX; $max = 0; foreach ($a ca $i) ( $min = min($min, $i["număr"]); $max = max($max, $i["număr"]); )

Puteți utiliza funcțiile max() și min().

Ce ai făcut cu mai multe bucle? Unul este de ajuns :)

  1. Obțineți primul element numărând atât $min, cât și max
  2. repetați peste restul, comparați numărul cu fiecare $min și $max, dacă este mai mic/mai mare, atribuiți o nouă valoare de numărare

Puteți utiliza funcțiile max/min, deoarece acestea vor returna o matrice care conține maximul/minimul fiecărui index. Exemplul dvs. ar trebui să returneze matrice (189, „Rețea”, 48) pentru max. Apoi puteți prelua scorul din această matrice.

Actualizarea nu funcționează așa cum am exclus. Exemplul paginii de manual este înșelător, iar exemplul oferă rezultatul corect folosind max, dar aceasta este doar o coincidență.

Se pare că nu puteți utiliza max() pe o matrice 2D. Pur și simplu returnează cea mai mare matrice, mai degrabă decât max() a fiecărui index (după cum se precizează în mai multe răspunsuri).

$număr = matrice(); foreach($arr ca $_arr) ( $număr = $_arr["număr"]; ) var_dump(max($număr), min($număr));

Există un echivalent încorporat functia pentru asta? (chiar fără posibilitatea testarea)

/** * preia o coloană dintr-o matrice 2D cu o selecție opțională peste o altă coloană * * @param $ aArray de preluat de la * @param $ aColName numele coloanei de preluat, de ex. „O_NAME” * @param $aColTest (opțional) numele coloanei pentru a rula testul, de ex. „O_ID” * @param $aTest șir (opțional) pentru test de ex. ">=10", "== "". $Toto. "" " * @return 1D matrice cu numai coloana extrasă * @access public * / function extractColFromArray ($aArray, $aColName, $aColTest = "", $ aTest = "") ( $mRes = array()); foreach ($aArray ca $row) ( if (($aColTest == "") || (eval("return". $row[$aColTest]. $ aTest ";"))) ( $ mRes = $ row [ $ aColName ]; ) ) return $ mRes ) // extractColFromArray