PHP Hanki minimi- ja maksimiarvot kaksiulotteisessa assosiatiivisessa taulukossa. Min - Etsii pienimmän arvon. Etsii taulukon php maksimi- ja vähimmäisarvo

(PHP 4, PHP 5, PHP 7)

min - Löytää pienimmän arvon

Kuvaus

Jos vain yksi argumentti hyväksytään - joukko numeroita, min() palauttaa niistä pienimmän. Jos ensimmäinen argumentti on kokonaisluku tai float, on oltava vähintään yksi lisää. Tässä tapauksessa toiminto min() palauttaa niistä pienimmän.

Kommentti:

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

Palautusarvot

Toiminto min() palauttaa sen parametrin arvon, jota pidetään "pienimpänä" standardivertailusääntöjen mukaan. Jos useat eri tyyppiset arvot ovat yhtä suuria keskenään (esim. 0 Ja "abc"), ensimmäinen palautetaan.

Esimerkkejä

Esimerkki #1 Käyttöesimerkki min()

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

// Merkkijonoa "hello", verrattaessa int-merkkiin, käsitellään 0:na
// Koska molemmat arvot ovat samat, parametrien järjestys määrittää tuloksen
echo min(0, "hei"); // 0
kaiku min ("hei" , 0 ); // Hei

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

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

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

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

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

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


Minulla on tämä joukko:

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 => array ("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 apua miten tämä tehdään? Kiitos!


2018-05-01 03:06

Vastaukset:

Vaihtoehto 1: Ensin kokoat taulukon saadaksesi nämä numerot (ei kaikkia tietoja):

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

Sitten saat min ja max:

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

Vaihtoehto 2. (Vain jos sinulla ei ole PHP 5.5:tä.) Sama kuin vaihtoehto 1, mutta arvojen kaappaamiseen käytä array_map:ta:

$numerot = array_map(function($yksityiskohdat) ( return $details["Paino"]; ), $taulukko);

Vaihtoehto 3.

Vaihtoehto 4: Jos tarvitset min max, array_reduce() voi olla nopeampi:

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

Tämä tekee enemmän kuin min() s, mutta ne ovat erittäin nopeita. PHP_INT_MAXin pitäisi alkaa maksimiarvosta ja laskea ja laskea. Voit tehdä saman arvolla $max , mutta aloitat arvolla 0 tai -PHP_INT_MAX .


2018-05-01 03:11

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


2018-05-01 03:09

PHP 5.5+ -versiota käyttäville ihmisille tämä voidaan tehdä paljon helpommin array_column -sovelluksella. Näitä rumia taulukoita ei tarvita.

Näin saat maksimiarvon:

$korkein_paino = max(array_column($yksityiskohdat, "Paino"));

Kuinka saada vähimmäisarvo

$pienin_paino = min(array_column($yksityiskohdat, "Paino"));


2018-01-24 11:04

On mielenkiintoista huomata, että molemmat yllä olevat ratkaisut käyttävät lisätallennustilaa taulukoiden muodossa (ensimmäinen niistä ja toinen yksi matriisi) ja sitten löydät min ja max käyttämällä "extra storage" -taulukkoa. Vaikka tämä saattaa olla hyväksyttävää todellisessa ohjelmointimaailmassa (kuka antaa kaksi bittiä "ylimääräisestä" tallennustilasta?), se antaisi sinulle "C":n Ohjelmointi 101:ssä.

Minin ja maxin löytämisen ongelma voidaan ratkaista helposti kahdella lisämuistipaikalla

$ensimmäinen = intval($syöte["Paino"]); $min = $ensimmäinen ; $max = $ensimmäinen ; foreach($input as $data) ( $weight = intval($data["Paino"]); if($weight<= $min) { $min = $weight ; } if($weight >$max) ( $max = $paino ; ) ) echo " min = $min ja max = $max \n " ;


2018-05-01 06:08

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


2018-01-10 06:44

array ("id" => "20110209172713", "Päivämäärä" => "2011-02-09", "Paino" => "200", 1 => array ("id" => "20110209172747", " Päivämäärä" => "2011-02-09", "Paino" => "180", 2 => array ("id" => "20110209172827", "Päiväys" => "2011-02-09", "Paino" => "175", 3 => array ("id" => "20110211204433", "Date" => "2011-02-11", "Weight" => "195",),) ; foreach ($array as $key => $arvo) ($tulos[$avain] = $arvo["Paino"]; ) $min = min($tulos); $max = max($tulos); echo "Matriisi vähimmäismäärässä:".$min."
"; echo " Enimmäismäärän taulukko: ".$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); lajitella($Location_Category_array); $count=array_count_values($Location_Category_array);//Laskee taulukon arvot, palauttaa liitännäistaulukon print_r($count); $maksimikoko = 0; $maksimiarvo = 0; foreach($count as $a=>$y)( echo "
".$a."=".$y; if($y>=$maxvalue)( $maxvalue = $y; if($a>$maxsize)( $maxsize = $a; ) ) ) echo "
max = ".$maxsize;

hanki avain (9)

Minulla on tämä joukko:

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 => array ("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 apua miten tämä tehdään? Kiitos!

Vastaukset

PHP 5.5+ -versiota käyttäville ihmisille tämä voidaan tehdä paljon helpommin array_column -sovelluksella. Ei niitä rumia sarjoja tarvita.

Näin saat maksimiarvon:

$korkein_paino = max(array_column($yksityiskohdat, "Paino"));

Kuinka saada vähimmäisarvo

$pienin_paino = min(array_column($yksityiskohdat, "Paino"));

Vaihtoehto 1: Ensin kokoat taulukon saadaksesi nämä numerot (ei kaikkia tietoja):

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

Sitten saat min ja max:

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

Vaihtoehto 2. (Vain jos sinulla ei ole PHP 5.5:tä.) Sama kuin vaihtoehto 1, mutta arvojen kaappaamiseen käytä array_map:ta:

$numerot = array_map(function($yksityiskohdat) ( return $details["Paino"]; ), $taulukko);

Vaihtoehto 3.

Vaihtoehto 4: Jos tarvitset vain minimi-OR max, array_reduce() saattaa olla nopeampi:

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

Tämä tekee enemmän kuin min() s, mutta ne ovat erittäin nopeita. PHP_INT_MAXin pitäisi alkaa maksimiarvosta ja laskea jatkuvasti. Voit tehdä saman arvolla $max , mutta aloitat arvolla 0 tai -PHP_INT_MAX .

array ("id" => "20110209172713", "Päivämäärä" => "2011-02-09", "Paino" => "200", 1 => array ("id" => "20110209172747", " Päivämäärä" => "2011-02-09", "Paino" => "180", 2 => array ("id" => "20110209172827", "Päiväys" => "2011-02-09", "Paino" => "175", 3 => array ("id" => "20110211204433", "Date" => "2011-02-11", "Weight" => "195",),) ; foreach ($array as $key => $arvo) ($tulos[$avain] = $arvo["Paino"]; ) $min = min($tulos); $max = max($tulos); echo "Matriisi vähimmäismäärässä:".$min."
"; echo " Enimmäismäärän taulukko: ".$max."
"; ?>

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

tulosta nopeasti viisi maksimi- ja vähimmäisnumeroa taulukosta ilman 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 =>$arvo) ( echo " ".$value; ) echo "
Luettelo seitsemästä alimmasta lämpötilasta: "; $mi= min($array); for($i=1; $i<7 ; $i++) { $mi[$i]=min(array_diff($array,$mi)); } foreach ($mi as $key =>$arvo) ( echo " ".$value; ) ?>

Entä ilman ennalta määritettyä funktiota, kuten min tai max?

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

On mielenkiintoista huomata, että molemmat yllä olevat ratkaisut käyttävät lisätallennustilaa taulukoiden muodossa (ensimmäinen niistä ja toinen yksi matriisi) ja sitten löydät min ja max käyttämällä "extra storage" -taulukkoa. Vaikka tämä saattaa olla hyväksyttävää todellisessa ohjelmointimaailmassa (kuka antaa kaksi bittiä "ylimääräisestä" tallennustilasta?), se antaisi sinulle "C":n Ohjelmointi 101:ssä.

Minin ja maxin löytämisen ongelma voidaan ratkaista helposti kahdella lisämuistipaikalla

$ensimmäinen = intval($syöte["Paino"]); $min = $ensimmäinen ; $max = $ensimmäinen ; foreach($syöte $datana) ( $paino = intval($data["Paino"]); if($paino<= $min) { $min = $weight ; } if($weight >$max) ( $max = $paino ; ) ) echo " min = $min ja max = $max \n " ;

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

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

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

Jos tiedät elementtiindeksin

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

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

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

slice() luo uuden taulukon vastaanottamillaan indekseillä. Luomme yksinkertaisesti uuden taulukon - alusta poistettavaan hakemistoon ja ketjutamme toisen taulukon ensimmäisestä poistetun taulukon jälkeisestä sijainnista taulukon loppuun.

Jos tiedät merkityksen

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

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

Tämä käyttää ES6-nuolitoimintoja. Voit käyttää perinteisiä toimintoja vanhempien selaimien tukemiseen:

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

tai voit käyttää Babelia ja muuntaa ES6-koodin takaisin ES5:ksi, jotta se olisi helpompi lukea vanhemmille selaimille, mutta kirjoita koodiisi moderni JavaScript.

Useiden kohteiden poistaminen

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

Etsitään yksinkertaisin ratkaisu.

Indeksin mukaan

Voit yksinkertaisesti luoda funktion ja poistaa elementtejä peräkkäin:

const items = ["a", "b", "c", "d", "e", "f"] const removeItem = (items, 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(suodatetut kohteet)

Arvon mukaan

Voit etsiä sisällyttämistä takaisinsoittotoiminnon sisältä:

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

Vältä alkuperäisen taulukon muuntamista

splice() (ei pidä sekoittaa slice()-funktioon) mutatoi alkuperäisen taulukon ja sitä tulee välttää.

Minulla on taulukko tässä muodossa:

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

Onko olemassa hyvää tapaa saada "count":n minimi- ja maksimiarvot? 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ä funktiot eivät ymmärrä niille välitettyjä datataulukoita (array). Nämä toiminnot toimivat vain skalaaritaulukon elementeillä.

ALOITUSKUVA

Syy siihen, miksi min() ja max():n käyttäminen näyttää antavan oikean vastauksen, johtuu siitä, että taulukot syöttävät kokonaislukuja, mikä on määrittelemätöntä toimintaa:

Muunnoskäyttäytymistä kokonaisluvuksi ei ole määritetty muille tyypeille. Älä luota havaittuun käyttäytymiseen, sillä se voi muuttua ilman varoitusta.

Yllä oleva väitteeni tyyppivalusta oli väärä. Itse asiassa min() ja max() toimivat taulukoiden kanssa, mutta eivät sillä tavalla kuin OP tarvitsee niitä toimiakseen. Kun käytät min() ja max() useiden taulukoiden tai taulukon elementtien joukon kanssa, vertaa elementtejä elementtikohtaisesti vasemmalta oikealle:

$val = min(taulukko(2, 4, 8), array(2, 5, 1)); // array(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 */

Tehtäväksi käännettynä OP näyttää, miksi suoraan min()- ja max():n käyttäminen näyttää antavan oikean tuloksen. Taulukon ensimmäiset elementit ovat id , joten min() ja max() vertailevat niitä ensin, mikä johtaa oikeaan tulokseen, koska pienin id on se jolla on pienin määrä ja suurin id on se. jolla on suurin määrä.

LOPETA EDIT

Oikea tapa on käyttää silmukkaa.

$a = array(array("id" => 117, "name" => "Verkko", "count" => 16), array("id" => 188, "name" => "FTP", " count" => 23), array("id" => 189, "nimi" => "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()-funktioita.

Mitä teit useilla silmukoilla? Yksi on tarpeeksi :)

  1. Hanki ensimmäinen elementti laskemalla sekä $min että max
  2. iteroi loput, vertaa määrää kunkin $min ja $max kanssa, jos pienempi/suurempi määritä uusi laskenta-arvo

Voit käyttää max/min-funktioita, koska ne palauttavat taulukon, joka sisältää kunkin indeksin maksimi-/minimiarvon. Esimerkkisi pitäisi palauttaa array(189, "Networking", 48) max. Voit sitten napata pisteet tästä taulukosta.

Tämän päivittäminen ei toimi, kuten poissuljettiin. Man-sivun esimerkki on harhaanjohtava ja esimerkki antaa oikean tuloksen käyttämällä maxia, mutta se on vain sattumaa.

Näyttää siltä, ​​että et voi käyttää max()-arvoa 2D-taulukossa. Se vain palauttaa kunkin indeksin suurimman taulukon max():n sijaan (kuten useissa vastauksissa todetaan).

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

Onko vastaavaa sisäänrakennettu toiminto tähän? (vaikka ilman mahdollisuutta testaus)

/** * hakee sarakkeen 2D-taulukosta valinnaisella valinnalla toisesta sarakkeesta * * @param $ aArray haettavaksi * @param $ aColName noudettavan sarakkeen nimi, esim. "O_NAME" * @param $aColTest (valinnainen) sarakkeen nimi testin suorittamista varten, esim. "O_ID" * @param $aTest (valinnainen) merkkijono testille esim. ">=10", "== "". $Toto. "" " * @return 1D-taulukko, jossa vain sarake on purettu * @access public * / function extractColFromArray ($aArray, $aColName, $aColTest = "", $ aTest = "") ( $mRes = array()); foreach ($aArray kuin $rivi) ( if (($aColTest == "") || (eval("return". $row[$aColTest]. $ aTest ";"))) ( $ mRes = $ rivi [ $ aColName ]; ) ) return $ mRes ) // Pura ColFromArray

Taulukot ovat yksi kätevistä jäsennellyistä tavoista tallentaa tietoa. Jokaisella tällaisen taulukon elementillä on oma paikka, oma avain ja arvo. Taulukkojen sisältö voi olla erilainen, kuten esimerkiksi tietokanta numeroista, nimistä tai yksinkertaisista numeerisista arvoista. Numeroista puheen ollen saatamme kohdata erilaisia ​​tehtäviä, esimerkiksi maksimi- tai minimiarvon päättäminen. Tänään puhumme siitä, kuinka tämä ratkaistaan ​​eri ohjelmointikielillä.

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

Kaikki taulukot eroavat rakenteeltaan. Harkitse kahta yksinkertaista yksiulotteista taulukkoa, joista toinen ei sisällä avaimia:

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

ja yksi identtinen edellisen kanssa, mutta avaimilla:

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

Yritetään näyttää tämän taulukon enimmäis- ja vähimmäisarvot. Tätä varten käytämme vakiotoimintoja " max"ja" min" vastaavasti:

Echo max($my_array); // Tulosta 74 echo min($my_array); // Tulosta 2

Jos tarkastelemme lähemmin toista taulukkoa, tuloksena voimme saada maksimi- tai minimiarvojen avaimen.

Käyttämällä taulukkoa esimerkkinä

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

se näyttää tältä:

$max = taulukon_avaimet($oma_taulukko, max($oma_taulukko)); $max = $max;// Suurin arvoavain $min = array_keys($oma_taulukko, min($oma_taulukko)); $min = $min; // Pienin arvoavain echo $max; // Tulosta enimmäisarvon tulos

Vastaavasti maksimiarvon avain on "4" ja pienin arvo on "6".

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

Moniulotteiset taulukot erottuvat niiden sisäkkäisyydestä. Esimerkiksi kaksiulotteinen taulukko näyttäisi tältä ilman avaimia:

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

Ja vastaavasti tietyillä avaimilla:

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

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

Ensinnäkin, jotta voimme löytää maksimin ja minimin täältä, muunnamme taulukon yksiulotteiseksi:

$out_array = array(); foreach($oma_jono kuten $alijoukko) ( $out_array = array_merge($out_array, $sub_array); )

Suunnittelu toimii molemmissa yllä olevissa vaihtoehdoissa. Ja sitten, seuraamalla yksiulotteisen taulukon esimerkkiä, näytämme tarvitsemamme tiedot:

Echo max($out_array); // Tulosta 74 echo min($out_array); // Tulosta 2

Pienen bonuksena annan esimerkin toisesta suositusta kaksiulotteisesta taulukosta:

$my_array = array(array("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"));

Suosiolla en tarkoita sisältöä, vaan esimerkkiä sen rakenteesta. Oletetaan, että tässä sinun on tulostettava vain "hinta" -näppäinten enimmäis- ja vähimmäisarvot.

Ensimmäinen asia, jonka tarvitset tässä tapauksessa, on hankkia uusi taulukko, jossa on vain nämä tiedot:

$numerot = array_column($oma_taulukko, "hinta");

Kaiku min($numerot); // Tulosta 5 echo max($numbers); // Tulosta 50

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

Yksiulotteisen taulukon suurimman ja pienimmän arvon löytäminen JavaScriptissä

Toisin kuin PHP, JavaScriptin taulukoiden tyyppi on paljon yksinkertaisempi, ja yksinkertainen yksiulotteinen taulukko näyttää tältä:

Muutt oma_taulukko = ;

Tässä ei mainita indeksejä. Löytääksemme maksimi- ja vähimmäisarvot tästä taulukosta, kirjoitamme kaksi omaa yksinkertaista funktiota:

Funktio arrayMax(array) ( return array.reduce(function(a, b) ( return Math.max(a, b); )); ) function arrayMin(array) ( palauttaa array.reduce(function(a, b) ( return Math.min(a, b));

joita käytetään etsimään tarvitsemamme arvot. Käyttö on myös yksinkertaista:

Alert(arrayMax(oma_taulukko)); // Tulosta 74 alert(arrayMin(my_array)); // Tulosta 2

Tässä tapauksessa numerot “2” ja “74” näkyvät näytöllä taulukon minimi- ja maksimiarvoina.

Moniulotteisen taulukon suurimman ja pienimmän arvon löytäminen JavaScriptissä

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

Muutt my_array = [ , , ];

Yritetään löytää maksimi ja minimi tästä. Aluksi kirjoitamme funktion, jolla jo tuntemamme kaavion mukaan esitämme tämän taulukon yksiulotteisena:

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

Ja käyttämällä esinettä " Matematiikka"Saamme tarvitsemamme arvot:

Muutt min = Math.min.apply(null, out_array); // Hanki 2 var max = Math.max.apply(null, out_array); // Hanki 74 hälytys(max); // Tulosta 74 näytölle

Itse asiassa kohteen sijasta " Matematiikka”Voit käyttää versiossa käytettyjä toimintojamme yksiulotteisen taulukon kanssa, mutta jotta ymmärrät, että mikä tahansa ongelma voidaan ratkaista monella tavalla - tässä olen antanut hieman erilaisen ratkaisun.

No, perinteen mukaan – pieni bonus. Tarkastellaan 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 näemme, kunkin taulukon numeeriset arvot ovat kolmannella sijalla. Kirjoitetaan jokin koodi ja hankitaan vastaavat arvot vain näistä tiedoista:

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

Siinä kaikki. Älä unohda tukea hanketta. Paljon mielenkiintoisia asioita odottaa sinua edessäsi!