Php: n vähimmäisarvo. Min - Löytää pienimmän arvon

Taulukot ovat yksi kätevistä jäsennellyistä tavoista tallentaa tietoja. Jokaisella tällaisen taulukon elementillä on oma paikka, oma avain ja arvo. Matriisien sisältö voi olla erilainen, kuten numeroiden, nimien tai yksinkertaisten numeeristen arvojen perusta. Numerosta puhuen voimme kohdata erilaisia ​​tehtäviä, esimerkiksi näyttää suurin tai pienin arvo. Tänään puhumme siitä, miten tämä ratkaistaan ​​eri ohjelmointikielillä.

Etsitään yksiulotteisen taulukon suurin ja pienin arvo PHP: ssä

Kaikki matriisit eroavat rakenteestaan. Tarkastellaan kahta yksinkertaista yksiulotteista taulukkoa, joista toinen ei sisällä avaimia:

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

ja yksi identtinen edellisen kanssa, mutta näppäimillä:

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

Yritetään näyttää tämän taulukon suurin ja pienin arvo. Tätä varten käytämme vakiotoimintoja “ enint"Ja" min"Vastaavasti:

Kaiku max ($ my_array); // Tulosta 74 kaiku min ($ my_array); // Lähtö 2

Jos tarkastelemme tarkemmin toista taulukkoa, voimme sen seurauksena saada avaimen suurimmista tai pienimmistä arvoista.

Esimerkki taulukosta

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

se näyttää tältä:

$ max = array_keys ($ my_array, max ($ my_array)); $ max = $ max; // Suurimman arvon avain $ min = array_keys ($ my_array, min ($ my_array)); $ min = $ min; // Minimiarvonäppäin echo $ max; // Näytä maksimiarvon tulos

Vastaavasti maksimiarvon avain on "4" ja vähimmäisarvo "6".

Moniulotteisen taulukon suurimman ja pienimmän arvon löytäminen PHP: ssä

Moniulotteiset matriisit erotetaan pesimällä. Esimerkiksi kaksiulotteinen taulukko näyttäisi tältä ilman avaimia:

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

Ja vastaavasti joillakin näppäimillä:

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

Tässä tapauksessa enimmäis- ja vähimmäisarvojen löytäminen on hieman vaikeaa, mutta yhtä realistista.

Ensinnäkin, jotta löydettäisiin suurin ja pienin täällä, muunnamme matriisi yksiulotteiseksi:

$ out_array = matriisi (); foreach ($ my_array nimellä $ sub_array) ($ out_array = array_merge ($ out_array, $ sub_array);)

Suunnittelu toimii molemmilla vaihtoehdoilla yllä. Ja sitten näytämme yksiulotteisen taulukon esimerkkiä tarvitsemamme tiedot:

Kaiku max ($ out_array); // Tulosta 74 kaiku min ($ out_array); // Lähtö 2

Bonuksena tässä on esimerkki toisesta suositusta kaksiulotteisesta taulukosta:

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

Suosioilla en tarkoita sisältöä, vaan esimerkkiä sen rakenteesta. Oletetaan, että tässä on tulostettava vain "hinta" -näppäinten suurin ja pienin arvo.

Ensinnäkin tarvitset tässä tapauksessa uuden taulukon, jossa on vain nämä tiedot:

$ numerot = taulukon sarake ($ my_array, "hinta");

Kaiku min ($ numerot); // Tulosta enintään 5 kaikua ($ numerot); // Tulos 50

Tämä viimeistelee työn matriisien kanssa PHP: ssä. Jos yhtäkkiä rakenteesi rakenne on erilainen etkä tiedä miten käsitellä sitä - kysy sopiva kysymys kommenteissa, yritän auttaa sinua.

Löydetään yksiulotteisen taulukon suurin ja pienin arvo JavaScriptiä

Toisin kuin PHP, JavaScript-taulukot ovat paljon yksinkertaisempia, ja yksinkertainen yksiulotteinen taulukko näyttäisi tältä:

Var my_array =;

Indeksejä ei ole määritelty tässä. Tämän taulukon enimmäis- ja vähimmäisarvojen löytämiseksi kirjoitamme kaksi yksinkertaista toimintoa:

Function arrayMax (array) (return array.reduce (function (a, b) (return Math.max (a, b);)));) function arrayMin (array) (return array.reduce (funktio (a, b) ( palauta Math.min (a, b);));)

joita käytetään tarvitsemiemme arvojen löytämiseen. Käyttö on myös yksinkertaista:

Hälytys (arrayMax (my_array)); // Lähdön 74 hälytys (arrayMin (my_array)); // Lähtö 2

Tässä tapauksessa näytössä näkyvät numerot "2" ja "74" matriisin minimi- ja maksimiarvoina.

Moniulotteisen taulukon suurimman ja pienimmän arvon etsiminen JavaScriptistä

JavaScriptin moniulotteiset taulukot ovat yhtä yksinkertaisia ​​ja näyttävät tältä:

Var my_array = [,,];

Yritetään löytää täältä suurin ja pienin. Aluksi kirjoitamme funktion, jolla tutun mallimme mukaan edustamme tätä taulukkoa yksiulotteisena:

Var out_array =; my_array.forEach (funktio (v) (Array.prototype.push.apply (out_array, v);));

Ja kohteen käyttäminen " Matematiikka"Saamme tarvitsemamme arvot:

Var min = Math.min.apply (null, out_array); // Hanki 2 var max = Math.max.apply (null, out_array); // Hanki 74 hälytystä (enintään); // Näytä 74 näytöllä

Itse asiassa objektin sijaan " Matematiikka»Voit käyttää versiossa käytettyjä toimintojamme yksiulotteisen taulukon avulla, mutta ymmärtääksesi, että mikä tahansa ongelma voidaan ratkaista monella tapaa - tässä annoin hieman erilaisen ratkaisun.

No, perinteisesti - pieni bonus. Harkitse toista moniulotteista taulukkoa, jolla on seuraava rakenne:

Var my_array = [["Yksi", "2018-03-19", 5], ["Kaksi", "2018-03-19", 50], ["Kolme", ​​"2018-03-19", 25 ],];

Kuten voimme nähdä, kunkin taulukon numeeriset arvot ovat kolmannella sijalla. Kirjoitetaan koodi ja haetaan vastaavat arvot vain näistä tiedoista:

Var min = + Ääretön; var max = -Rajattomuus; my_array.forEach (funktio (kohde) (jos (+ kohde< min) { min =+ item; // Ищем минимальное значение } }); my_array.forEach(function(item) { if(+item >max) (max = + kohde; // Etsitään enimmäisarvoa))); hälytys (min + "" + max); // Näytä tulos näytöllä

Siinä kaikki. Älä unohda tukea projektia. Paljon mielenkiintoisia asioita odottaa sinua!

(PHP 4, PHP 5, PHP 7)

min - Löytää pienimmän arvon

Kuvaus

Jos vain yksi välitetään argumentteina - joukko numeroita, min () palauttaa pienimmän niistä. Jos ensimmäinen argumentti on kokonaisluku tai kelluva, niitä on oltava vähintään yksi. Tässä tapauksessa toiminto min () palauttaa pienimmän niistä.

Kommentti:

Eri tyyppisiä arvoja verrataan standardivertailusääntöjen avulla. Esimerkiksi ei-numeerinen merkkijono ( merkkijono) verrataan kokonaislukuun ( kokonaisluku) ikään kuin se olisi yhtä suuri kuin 0 mutta muutama rivi ( merkkijono) verrataan aakkosjärjestyksessä. Palautusarvo säilyttää muuttujan alkuperäisen tyypin ilman muunnosta.

Palautusarvot

Toiminto min () palauttaa parametrin arvon, jota pidetään standardien vertailusääntöjen mukaan "pienimpänä". Jos useat erityyppiset arvot ovat samat (ts. 0 ja "abc"), ensimmäinen palautetaan.

Esimerkkejä

Esimerkki 1 Käyttöesimerkki min ()

kaiku min (2, 3, 1, 6, 7); // yksi
kaiku min (taulukko (2, 4, 5)); // 2

// Merkkijonoa "hei" käsitellään int-arvona 0
// Koska molemmat arvot ovat samat, parametrien järjestys määrää tuloksen
kaikumin (0, "hei"); // 0
kaiku min ("hei", 0); // Hei

// Tässä verrataan -1< 0, поэтому -1 является наименьшим значением
kaiku min ("hei", - 1); // -yksi

// Verrattaessa eripituisia taulukoita, min palauttaa lyhyemmän
$ val = min (taulukko (2, 2, 2), taulukko (1, 1, 1, 1)); // taulukko (2, 2, 2)

// Useita saman pituisia taulukoita verrataan vasemmalta oikealle
// tässä esimerkissä: 2 == 2, mutta 4< 5
$ val = min (taulukko (2, 4, 8), taulukko (2, 5, 1)); // taulukko (2, 4, 8)

// Jos matriisia ja ei-matriisia verrataan, taulukkoa ei koskaan palauteta
// koska taulukoita pidetään suurempina kuin kaikki muut arvot
$ val = min ("merkkijono", taulukko (2, 5, 7), 42); // merkkijono

// Jos yksi argumentti on NULL tai looginen, sitä verrataan muihin
// käyttämällä sääntöä EPÄTOSI< TRUE, учитывая остальные типы аргументов
// Edellä olevassa esimerkissä -10 ja 10 käsitellään TOSIIN
$ val = min (- 10, EPÄTOSI, 10); // VÄÄRÄ
$ val = min (- 10, NULL, 10); // TYHJÄ

// toisaalta 0 pidetään EPÄTOSI, joten se on "vähemmän" kuin TOSI
$ val = min (0, TOSI); // 0
?>

Minulla on taulukko tässä muodossa:

Matriisi (=> Matriisi (=> 117 => Verkko => 16) => Matriisi (=> 188 => FTP => 23) => Matriisi (=> 189 => Internet => 48))

Onko olemassa hyvä tapa saada laskennan vähimmäis- ja enimmäisarvot? Voisin tehdä tämän käyttämällä useita silmukoita, mutta ajattelin, että voisi olla parempi tapa.

Toisin kuin muut, et voi käyttää min () / max () -funktioita tähän ongelmaan, koska nämä toiminnot eivät ymmärrä heille välitettyjä taulukoita (taulukoita). Nämä toiminnot toimivat vain skalaariryhmäelementeille.

ALOITA KUVA

Syy siihen, miksi min () ja max (): n käyttö näyttää antavan oikean vastauksen, liittyy tyyppivalun taulukkoihin kokonaislukuihin, jotka ovat määrittelemätöntä käyttäytymistä:

Muuntaminen kokonaisluvuksi ei ole määritelty muille tyyppeille. Älä luota mihinkään havaittavaan käyttäytymiseen, koska se voi muuttua ilman varoitusta.

Edellä oleva lausuntoni tyyppivalusta oli väärä. Itse asiassa min () ja max () työskentelevät matriisien kanssa, mutta ei sillä tavalla, jolla OP tarvitsee niitä toimimaan. Kun min () ja max () käytetään useilla matriiseilla tai taulukkoelementtiryhmillä, elementtejä verrataan elementteittäin vasemmalta oikealle:

$ val = min (taulukko (2, 4, 8), taulukko (2, 5, 1)); // matriisi (2, 4, 8) / * * ensimmäinen elementti verrattuna ensimmäiseen elementtiin: 2 == 2 * toinen elementti verrattuna toiseen elementtiin: 4< 5 * first array is considered the min and is returned */

Käännetty toimenpideohjelman ongelmaan osoittaa, miksi min () ja max (): n suora käyttö näyttää antavan oikean tuloksen. Matriisin ensimmäiset elementit ovat id, joten min () ja max () vertaa niitä ensin, muuten, johtavat oikeaan tulokseen, koska pienin id on se, jolla on pienin määrä ja korkein id on se, jolla on korkein määrä.

LOPPU MUOKKAA

Oikea tapa on käyttää silmukkaa.

$ a = matriisi (matriisi ("id" => 117, "nimi" => "Verkko", "count" => 16), matriisi ("id" => 188, "nimi" => "FTP", " count "=> 23), array (" id "=> 189," name "=>" Internet "," count "=> 48)); $ min = PHP_INT_MAX; $ max = 0; foreach ($ a kuin $ i) ($ min = min ($ min, $ i ["count"]); $ max = max ($ max, $ i ["count"]);)

Voit käyttää max () ja min () toimintoja.

Mitä olet tehnyt useilla silmukoilla? Yksi riittää 🙂

  1. Hanki ensimmäinen tuote laskemalla sekä $ min että max
  2. toista loput, vertaa laskuria kullekin $ min: lle ja $ max: lle, jos vähemmän / enemmän, määritä uusi laskenta-arvo

Voit käyttää max / min-toimintoja, koska ne palauttavat taulukon, joka sisältää kunkin indeksin maksimiarvon / minimin. Esimerkkisi pitäisi palauttaa matriisi (189, "Verkko", 48) enintään. Sitten voit tarttua pisteisiin tästä taulukosta.

Tämän päivittäminen ei toimi, kuten olen sulkenut pois. Man -sivuesimerkki on harhaanjohtava ja esimerkki antaa oikean tuloksen käyttämällä max-arvoa, mutta tämä on vain sattumaa.

Näyttää siltä, ​​että et voi käyttää max () -asetusta 2D-ryhmässä. Se palauttaa vain suurimman taulukon, ei kunkin indeksin max () (kuten useissa vastauksissa todettiin).

$ count = taulukko (); foreach ($ arr as $ _arr) ($ count = $ _arr ["count"];) var_dump (max ($ count), min ($ count));

Onko olemassa vastaavaa sisäänrakennettu toiminto tälle? (jopa ilman mahdollisuutta testaus)

/ ** * hakee sarakkeen 2D-taulukosta valinnaisella valinnalla toisen sarakkeen yli * * @param $ array aArray noutaaksesi sarakkeesta * @param $ aColName haettavan sarakkeen nimi, esim. "O_NAME" * @param $ aColTest (valinnainen) sarakkeen nimi testiä varten, esim. "O_ID" * @param $ aTest (valinnainen) merkkijono testiä varten. "> = 10", "==" ". $ Toto." "" * @Palauta 1D-taulukko vain puretulla sarakkeella * @access public * / function extractColFromArray ($ aArray, $ aColName, $ aColTest = "", $ aTest = "") ($ mRes = taulukko (); foreach ($ aArray muodossa $ rivi) (jos (($ aColTest == "")) || (eval ("return". $ rivi [$ aColTest]. $ aTest . ";"))) ($ mRes = $ rivi [$ aColName];)) palauttaa $ mRes;) // extractColFromArray

hae avain (9)

Minulla on tällainen taulukko:

Taulukko (0 => matriisi ("id" => "20110209172713", "Päivämäärä" => "2011-02-09", "Paino" => "200",), 1 => Taulukko ("id" => "20110209172747", "Päivämäärä" => "2011-02-09", "Paino" => "180",), 2 => taulukko ("id" => "20110209172827", "Päivämäärä" => "2011- 02-09 "," Paino "=>" 175 ",), 3 => taulukko (" id "=>" 20110211204433 "," Päivämäärä "=>" 2011-02-11 "," Paino "=>" 195 ",),)

Minun täytyy poimia vähimmäis- ja enimmäispainoarvot. Tässä esimerkissä

$ min_value = 175

$ max_value = 200

Onko mitään apua tämän tekemiseen? Kiitos!

Vastaukset

PHP 5.5+ -käyttöjärjestelmää käyttäville ihmisille tämä voidaan tehdä paljon helpommin array_column-toiminnolla. Ei tarvita näille ruma taulukoille.

Kuinka saada suurin arvo:

$ korkein_paino = max (taulukon_sarake ($ tiedot, "Paino"));

Kuinka saada vähimmäisarvo

$ pienin_paino = min (taulukon_sarake ($ tiedot, "Paino"));

Vaihtoehto 1. Ensinnäkin sovitat taulukon saadaksesi nämä numerot (ei täydelliset tiedot):

$ numbers = array_column ($ array, "paino")

Sitten saat min ja max:

$ min = min ($ numerot); $ max = max ($ numerot);

Vaihtoehto 2. (Vain jos sinulla ei ole PHP 5.5.) Sama kuin vaihtoehto 1, mutta jos haluat tuoda arvot esiin, käytä array_map:

$ numbers = array_map (funktio ($ details) (palauta $ details ["Paino"];), $ array);

Vaihtoehto 3.

Vaihtoehto 4. Jos tarvitset vain min TAI max, array_reduce () saattaa olla nopeampi:

$ min = array_reduce ($ array, function ($ min, $ details) (return min ($ min, $ details ["weight"]);), PHP_INT_MAX);

Tämä tekee enemmän min () s, mutta ne ovat erittäin nopeita. PHP_INT_MAX: n tulisi alkaa enintään ja mennä alas ja alas. Voit tehdä saman hintaan $ max, mutta aloitat arvosta 0 tai -PHP_INT_MAX.

array ("id" => "20110209172713", "Date" => "2011-02-09", "Paino" => "200",), 1 => array ("id" => "20110209172747", " Päivämäärä "=>" 2011-02-09 "," Paino "=>" 180 ",), 2 => taulukko (" id "=>" 20110209172827 "," Päivämäärä "=>" 2011-02-09 ", "Paino" => "175",), 3 => taulukko ("id" => "20110211204433", "Päivämäärä" => "2011-02-11", "Paino" => "195",),) ; foreach ($ taulukko muodossa $ key => $ arvo) ($ tulos [$ avain] = $ arvo ["Paino"];) $ min = min ($ tulos); $ max = max ($ tulos); kaiku "Taulukko Minnumumin numerossa:". $ min. "
"; echo" Taulukko enimmäismäärässä: ". $ max."
"; ?>

Foreach ($ taulukko muodossa $ k => $ v) ($ tArray [$ k] = $ v ["Paino"];) $ min_arvo = min ($ tArray); $ max_value = max ($ tArray);

tulosta taulukosta viisi enimmäis- ja vähimmäismäärää nopeasti käyttämättä lajittelutaulukkoa php: ssä: -

Luettelo seitsemästä korkeimmasta lämpötilasta: - "; $ m = max ($ array); for ($ i = 1; $ i<7 ; $i++) { $m[$i]=max(array_diff($array,$m)); } foreach ($m as $key =>$ value) (echo "". $ value;) echo "
Luettelo seitsemästä alimmasta lämpötilasta: "; $ mi = min ($ taulukko); varten ($ i = 1; $ i<7 ; $i++) { $mi[$i]=min(array_diff($array,$mi)); } foreach ($mi as $key =>$ value) (echo "". $ value;)?>

Entä käyttämättä ennalta määritettyä toimintoa, kuten min tai max?

$ arr =; $ val = $ arr; $ n = määrä ($ arr); varten ($ i = 1; $ i<$n;$i++) { if($val<$arr[$i]) { $val = $val; } else { $val = $arr[$i]; } } print($val);

On mielenkiintoista huomata, että molemmat yllä olevista ratkaisuista käyttävät ylimääräistä tallennustilaa taulukoiden muodossa (ensimmäinen niistä ja toinen taulukko), ja sitten löydät min ja max käyttämällä "ylimääräisen tallennustilan" taulukkoa. Vaikka tämä voi olla hyväksyttävää todellisessa ohjelmointimaailmassa (kuka antaa kaksi bittiä "ylimääräisestä" tallennustilasta?), Se saisi sinulle "C": n ohjelmoinnissa 101.

Minimin ja maksimin löytämisen ongelma voidaan ratkaista helposti vain kahdella ylimääräisellä muistipaikalla

$ first = intval ($ input ["Paino"]); $ min = $ ensin; $ max = $ ensin; foreach ($ input kuten $ data) ($ weight = intval ($ data ["Weight"])); if ($ weight<= $min) { $min = $weight ; } if($weight >$ max) ($ max = $ paino;)) kaiku "min = $ min ja max = $ max \ n";

$ num = array (0 => array ("id" => "20110209172713", "Date" => "2011-02-09", "Weight" => "200"), 1 => array ("id" => "20110209172747", "Päivämäärä" => "2011-02-09", "Paino" => "180"), 2 => taulukko ("id" => "20110209172827", "Päivämäärä" => "2011 -02-09 "," Paino "=>" 175 "), 3 => taulukko (" id "=>" 20110211204433 "," Päivämäärä "=>" 2011-02-11 "," Paino "=>" 195 ")); foreach ($ num kuten $ key => $ val) ($ weight = $ val ["Paino"];) echo max ($ weight); kaiku min ($ paino);

Tässä on joitain tapoja poista elementti taulukosta javascriptin avulla .

Kaikki kuvatut menetelmät älä muokkaa alkuperäistä taulukkoa ja luo sen sijaan uusi.

Jos tiedät elementin indeksin

Oletetaan, että sinulla on taulukko ja haluat poistaa elementin sijainnista i.

Yksi tapa on käyttää slice ():

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

slice () luo uuden taulukon vastaanotetuilla indekseillä. Luomme yksinkertaisesti uuden taulukon - alusta poistettavaan hakemistoon ja yhdistämme toisen taulukon poistamamme ryhmän ensimmäisestä sijainnista ryhmän loppuun.

Jos tiedät merkityksen

Tässä tapauksessa yksi hyvä vaihtoehto on käyttää suodatinta (), joka tarjoaa enemmän vakuuttava lähestyminen:

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

Tämä käyttää ES6-nuolitoimintoja. Voit käyttää perinteisiä ominaisuuksia vanhempien selainten tukemiseen:

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

tai voit käyttää Babelia ja muuntaa ES6-koodisi takaisin ES5: ksi, jotta se olisi sulavampi vanhemmille selaimille, mutta kirjoita koodiin moderni JavaScript.

Useiden kohteiden poistaminen

Entä jos haluat poistaa useita elementtejä yhden elementin sijaan?

Etsitään yksinkertaisin ratkaisu.

Hakemiston mukaan

Voit yksinkertaisesti luoda toiminnon ja poistaa kohteita peräkkäin:

const items = ["a", "b", "c", "d", "e", "f"] const removeItem = (kohteet, i) => items.slice (0, i-1) .concat (items.slice (i, items.length)) anna filteredItems = removeItem (items, 3) filteredItems = removeItem (filteredItems, 5) // ["a", "b", "c", "d"] -konsoli. loki (filteredItems)

Arvon mukaan

Voit etsiä sisällytystä takaisinsoittotoiminnosta:

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

Vältä alkuperäisen taulukon mutaatiota

liitos () (ei pidä sekoittaa viipaleeseen ()) mutatoi alkuperäisen taulukon ja sitä tulisi välttää.


Minulla on tällainen taulukko:

Taulukko (0 => matriisi ("id" => "20110209172713", "Päivämäärä" => "2011-02-09", "Paino" => "200",), 1 => Taulukko ("id" => "20110209172747", "Päivämäärä" => "2011-02-09", "Paino" => "180",), 2 => taulukko ("id" => "20110209172827", "Päivämäärä" => "2011- 02-09 "," Paino "=>" 175 ",), 3 => taulukko (" id "=>" 20110211204433 "," Päivämäärä "=>" 2011-02-11 "," Paino "=>" 195 ",),)

Minun on purettava vähimmäis- ja enimmäispainoarvot. Tässä esimerkissä

$ min_value = 175

$ max_value = 200

Onko mitään apua tämän tekemiseen? Kiitos!


2018-05-01 03:06

Vastaukset:

Vaihtoehto 1. Ensinnäkin sovitat taulukon saadaksesi nämä numerot (ei täydelliset tiedot):

$ numbers = array_column ($ array, "paino")

Sitten saat min ja max:

$ min = min ($ numerot); $ max = max ($ numerot);

Vaihtoehto 2. (Vain jos sinulla ei ole PHP 5.5.) Sama kuin vaihtoehto 1, mutta jos haluat tuoda arvot esiin, käytä array_map:

$ numbers = array_map (funktio ($ details) (palauta $ details ["Paino"];), $ array);

Vaihtoehto 3.

Vaihtoehto 4. Jos tarvitset vähintään min max, array_reduce () saattaa olla nopeampi:

$ min = array_reduce ($ array, function ($ min, $ details) (return min ($ min, $ details ["weight"]);), PHP_INT_MAX);

Tämä tekee enemmän min () s, mutta ne ovat erittäin nopeita. PHP_INT_MAX: n tulisi alkaa maksimi ja laskea ja laskea. Voit tehdä saman $ max: lla, mutta aloitat arvosta 0 tai -PHP_INT_MAX,


2018-05-01 03:11

Foreach ($ taulukko muodossa $ k => $ v) ($ tArray [$ k] = $ v ["Paino"];) $ min_arvo = min ($ tArray); $ max_value = max ($ tArray);


2018-05-01 03:09

PHP 5.5+ -käyttöjärjestelmää käyttäville ihmisille tämä voidaan tehdä paljon helpommin array_column-toiminnolla.

Kuinka saada suurin arvo:

$ korkein_paino = max (taulukon_sarake ($ tiedot, "Paino"));

Kuinka saada vähimmäisarvo

$ pienin_paino = min (taulukon_sarake ($ tiedot, "Paino"));


2018-01-24 11:04

On mielenkiintoista huomata, että molemmat yllä olevista ratkaisuista käyttävät ylimääräistä tallennustilaa taulukoiden muodossa (ensimmäinen niistä ja toinen taulukko), ja sitten löydät min ja max käyttämällä "ylimääräisen tallennustilan" taulukkoa. Vaikka tämä voi olla hyväksyttävää todellisessa ohjelmointimaailmassa (kuka antaa kaksi bittiä "ylimääräisestä" tallennustilasta?), Se saisi sinulle "C": n ohjelmoinnissa 101.

Minimin ja maksimin löytämisen ongelma voidaan ratkaista helposti vain kahdella ylimääräisellä muistipaikalla

$ first = intval ($ input ["Paino"]); $ min = $ ensin; $ max = $ ensin; foreach ($ input kuten $ data) ($ weight = intval ($ data ["Weight"])); if ($ weight<= $min) { $min = $weight ; } if($weight >$ max) ($ max = $ paino;)) kaiku "min = $ min ja max = $ max \ n";


2018-05-01 06:08

$ num = array (0 => array ("id" => "20110209172713", "Date" => "2011-02-09", "Weight" => "200"), 1 => array ("id" => "20110209172747", "Päivämäärä" => "2011-02-09", "Paino" => "180"), 2 => taulukko ("id" => "20110209172827", "Päivämäärä" => "2011 -02-09 "," Paino "=>" 175 "), 3 => taulukko (" id "=>" 20110211204433 "," Päivämäärä "=>" 2011-02-11 "," Paino "=>" 195 ")); foreach ($ num kuten $ key => $ val) ($ weight = $ val ["Paino"];) echo max ($ weight); kaiku min ($ paino);


2018-01-10 06:44

array ("id" => "20110209172713", "Date" => "2011-02-09", "Paino" => "200",), 1 => array ("id" => "20110209172747", " Päivämäärä "=>" 2011-02-09 "," Paino "=>" 180 ",), 2 => taulukko (" id "=>" 20110209172827 "," Päivämäärä "=>" 2011-02-09 ", "Paino" => "175",), 3 => taulukko ("id" => "20110211204433", "Päivämäärä" => "2011-02-11", "Paino" => "195",),) ; foreach ($ taulukko muodossa $ key => $ arvo) ($ tulos [$ avain] = $ arvo ["Paino"];) $ min = min ($ tulos); $ max = max ($ tulos); kaiku "Taulukko Minnumumin numerossa:". $ min. "
"; echo" Taulukko enimmäismäärässä: ". $ max."
"; ?>


2017-11-11 19:33

$ Location_Category_array = taulukko (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); // Laskee taulukon arvot, palauttaa Associatve-taulukon print_r ($ count); $ maxsize = 0; $ maxvalue = 0; foreach ($ lasketaan kuin $ a => $ y) (kaiku "
". $ a." = ". $ y; jos ($ y> = $ maxvalue) ($ maxvalue = $ y; if ($ a> $ maxsize) ($ maxsize = $ a;))) kaiku"
max = ". $ maxsize;