Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mencari elemen terkecil array dalam php

Bagaimana untuk mencari elemen terkecil array dalam php

青灯夜游
青灯夜游asal
2022-10-17 19:02:031849semak imbas

Langkah pelaksanaan: 1. Gunakan fungsi asort() untuk mengisih tatasusunan dalam tertib menaik mengikut nilai kunci Sintaks ialah "asort (tatasusunan asal)". daripada tatasusunan; 2. Gunakan array_slice Fungsi () boleh memintas N elemen minimum dari permulaan tatasusunan, sintaksnya ialah "array_slice (tatasusunan tersusun, 0, N)".

Bagaimana untuk mencari elemen terkecil array dalam php

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3

Dalam PHP, anda boleh menggunakan sort () fungsi dan array_slice() berfungsi untuk mencari elemen N terkecil bagi tatasusunan.

Idea pelaksanaan:

  • Susun semula tatasusunan dan susun elemen tatasusunan dalam tertib menaik dari kecil ke besar. (Dengan cara ini, elemen terkecil adalah pada permulaan tatasusunan)

  • Hanya memintas N elemen tatasusunan terus daripada tatasusunan kait.

Langkah pelaksanaan:

1. Gunakan fungsi asort() untuk mengisih tatasusunan dalam menaik susunan mengikut nilai utama Isih

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$arr=array(34,3,-1,-6,42,12,1);
echo "原数组:";
var_dump($arr);
asort($arr);
echo "升序排序后:";
var_dump($arr);
?>

Bagaimana untuk mencari elemen terkecil array dalam php

Anda boleh melihat bahawa selepas mengisih, elemen terkecil berada di permulaan tatasusunan, dan anda hanya perlu memintas nombor yang ditetapkan mengikut keperluan.

Langkah 2: Gunakan fungsi array_slice() untuk memintas N elemen dari permulaan array

Fungsi array_slice() ialah fungsi yang disediakan oleh PHP untuk memintas tatasusunan

Jika anda ingin memintas elemen N dari permulaan tatasusunan, anda hanya perlu menetapkan parameter kedua kepada 0 dan parameter ketiga kepada bilangan elemen N.

array_slice(排序后数组,0,N)

Contoh: Dapatkan 2, 3, 4 elemen terkecil bagi tatasusunan

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$arr=array(34,3,-1,-6,42,12,1);
echo "原数组:";
var_dump($arr);
asort($arr);
echo "升序排序后:";
var_dump($arr);

echo "获取数组最小的2个元素:";
$result = array_slice($arr,0,2); //截取数组前2位的元素
var_dump($result);

echo "获取数组最小的3个元素:";
$result = array_slice($arr,0,3); //截取数组前3位的元素
var_dump($result);

echo "获取数组最小的4个元素:";
$result = array_slice($arr,0,4); //截取数组前3位的元素
var_dump($result);

?>

Bagaimana untuk mencari elemen terkecil array dalam php

Pengetahuan lanjutan: pengenalan fungsi

1 fungsi asort()

fungsi asort() akan berdasarkan nilai utama tatasusunan bersekutu Susun dalam susunan menaik tanpa mengubah suai nama kunci dalam tatasusunan asal.

asort($array,$sortingtype)

Fungsi asort() mempunyai dua parameter: $array (diperlukan) dan $sortingtype (boleh diabaikan).

Antaranya, parameter $sortingtype digunakan untuk menentukan mod pengisihan fungsi dan menentukan cara membandingkan elemen/item tatasusunan Nilai lalai ialah "SORT_REGULAR".

Parameter $sortingtype boleh ditetapkan kepada nilai berikut:

  • 0 = SORT_REGULAR: Bandingkan elemen tatasusunan secara normal tanpa mengubah jenisnya (nilai lalai); 🎜>

  • 1 = SORT_NUMERIC: Anggap elemen tatasusunan sebagai nombor; 🎜>3 = SORT_LOCALE_STRING: Bandingkan elemen tatasusunan sebagai rentetan berdasarkan tempat semasa (boleh ditukar melalui setlocale()).
  • 4 = SORT_NATURAL: Sama seperti natsort(), ia mengisih rentetan dalam "tertib semula jadi" untuk setiap elemen tatasusunan. Ia baharu dalam PHP5.4.0.
  • 5 = SORT_FLAG_CASE: Boleh digabungkan dengan SORT_STRING atau SORT_NATURAL (ATAU operasi bitwise), pengisihan rentetan yang tidak peka huruf besar-kecil.
  • 2. Fungsi array_slice()

  • fungsi array_slice() boleh mengekstrak serpihan daripada array
  • Perihalan parameter:

arr mewakili tatasusunan yang akan dipintas. mula mewakili kedudukan permulaan (subskrip) pemintasan:

Jika permulaan ialah nombor positif, pemintasan adalah dari hadapan ke belakang.

array array_slice ( array $arr , int $start [, int $length = NULL [, bool $preserve_keys = false ]] )
Jika permulaan ialah nombor negatif, mulakan dari kedudukan -mula dari hujung arr dan memintas dari belakang ke hadapan. Contohnya -2 bermaksud bermula dari elemen kedua hingga terakhir tatasusunan.

  • panjang ialah parameter pilihan, menunjukkan panjang yang dipintas:
  • Jika panjang ialah nombor positif, ia menunjukkan bilangan elemen yang dipintas; Jika panjang Jika ia adalah nombor negatif, maka serpihan yang dipintas akan berakhir pada panjang kedudukan dari hujung tatasusunan
    • Jika diabaikan, ia akan bermula dari kedudukan mula dan terus ke penghujung tatasusunan; .
    preserve_keys ialah parameter pilihan yang menentukan sama ada untuk mengekalkan nama kunci asal adalah palsu, iaitu, tidak dikekalkan, nama kunci asal akan dikekalkan .
    • Nota: array_slice() fungsi tidak akan mengubah tatasusunan asal
    • Contoh 1: Parameter $start
  • Contoh 2: Parameter $length

Contoh 3: Parameter $preserve

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,12,20,25,24);
echo "原数组:";
var_dump($arr); 

echo "截取的数组片段:";
$result = array_slice($arr,2);
var_dump($result);

$result = array_slice($arr,-2);
var_dump($result);
?>
menunjukkan sama ada untuk mengekalkan nama kunci asal Nilai lalai ialah palsu, juga Iaitu, ia tidak akan dikekalkan jika ditetapkan kepada benar, nama kunci asal akan dikekalkan.

Bagaimana untuk mencari elemen terkecil array dalam php

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,12,20,25,24);
echo "原数组:";
var_dump($arr); 

echo "截取的数组片段:";
$result = array_slice($arr,1,1);
var_dump($result);

$result = array_slice($arr,1,-1);
var_dump($result);
?>
Pembelajaran yang disyorkan: "

Tutorial Video PHPBagaimana untuk mencari elemen terkecil array dalam php"

Atas ialah kandungan terperinci Bagaimana untuk mencari elemen terkecil array dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn