ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingหาค่า min max ใน array ของ php ยังไงครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: หาค่า min max ใน array ของ php ยังไงครับ  (อ่าน 9666 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
xFantasy
สมุนแก๊งเสียว
*

พลังน้ำใจ: 21
ออฟไลน์ ออฟไลน์

กระทู้: 684



ดูรายละเอียด เว็บไซต์
« เมื่อ: 15 กุมภาพันธ์ 2011, 11:05:08 »

อยากหาค่า ต่ำสุด สูงสุด ออกมาแสดง จากข้อมูลใน array คับ ลองค้นหาใน google แล้วทำตาม มันไม่ได้คับ เซียน php ช่วยด้วยครับ
บันทึกการเข้า

marknary
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 273
ออฟไลน์ ออฟไลน์

กระทู้: 1,134



ดูรายละเอียด
« ตอบ #1 เมื่อ: 15 กุมภาพันธ์ 2011, 11:11:36 »

$data=array(1,2,3,4,5,6,7,8,9)
echo max($data);
echo max($data);
ถ้าไม่ได้ก็เขียน function ขึ้นมาเองประมาณนี้
funtion fmin($data)
{
     $minn=10000000;
     for($i=0;$i<count($data);$i++)
    {
       if($data[$i]<$minn)
        $minn=$data[$i];
    }
return $minn
}
funtion fmax($data)
{
     $maxx=0;
     for($i=0;$i<count($data);$i++)
    {
       if($data[$i]>$maxx)
        $maxx=$data[$i];
    }
return $maxx
}
« แก้ไขครั้งสุดท้าย: 15 กุมภาพันธ์ 2011, 12:07:38 โดย marknary » บันทึกการเข้า
kenessar
ก๊วนเสียว
*

พลังน้ำใจ: 34
ออฟไลน์ ออฟไลน์

กระทู้: 340



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 15 กุมภาพันธ์ 2011, 11:34:33 »

เรียงมันก่อนก็ได้ครับ sort($data, SORT_NUMERIC);
แล้วอันแรก จะเป็นเลขน้อยสุด อันสุดท้ายก็เป็นเลขมากสุด
บันทึกการเข้า
xFantasy
สมุนแก๊งเสียว
*

พลังน้ำใจ: 21
ออฟไลน์ ออฟไลน์

กระทู้: 684



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 15 กุมภาพันธ์ 2011, 11:48:25 »

ขอบคุณครับ แต่ปัญหาใหม่เกิดอีกแล้ว ตอนวนลูปสร้าง array มันดันรวม เอาราคา หลายๆ สินค้า มารวมกัน ยังหาทางแก้ไม่ได้คับ งงอยู่
บันทึกการเข้า

chor_th
สมุนแก๊งเสียว
*

พลังน้ำใจ: 56
ออฟไลน์ ออฟไลน์

กระทู้: 554



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 15 กุมภาพันธ์ 2011, 11:54:51 »

$data=array(1,2,3,4,5,6,7,8,9)
echo max($data);
echo max($data);
ถ้าไม่ได้ก็เขียน function ขึ้นมาเองประมาณนี้
funtion fmin()
{
     $minn=10000000;
     for($i=0;$i<count($data);$i++)
    {
       if($data[$i]<$minn)
        $minn=$data[$i];
    }
return $minn
}
funtion fmax()
{
     $maxx=0;
     for($i=0;$i<count($data);$i++)
    {
       if($data[$i]>$maxx)
        $maxx=$data[$i];
    }
return $maxx
}
โค๊ด:

function fmin($data)
{
     $minn=10000000;
     for($i=0;$i<count($data);$i++)
    {
       if($data[$i]<$minn)
        $minn=$data[$i];
    }
return $minn
}

function fmax($data)
{
     $maxx=0;
     for($i=0;$i<count($data);$i++)
    {
       if($data[$i]>$maxx)
        $maxx=$data[$i];
    }
return $maxx
}

$data=array(1,2,3,4,5,6,7,8,9)
echo fmax($data);
echo fmin($data);
Huh? น่าจะเป็นอย่างนี้หรือเปล่าครับ
เพราะ function ยังไม่ได้รับค่า $data เข้ามาอ่ะครับ
บันทึกการเข้า

marknary
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 273
ออฟไลน์ ออฟไลน์

กระทู้: 1,134



ดูรายละเอียด
« ตอบ #5 เมื่อ: 15 กุมภาพันธ์ 2011, 12:06:59 »

@ chor_th ตามนั้นครับพอดีรีบปั่นงานเลยลืมเขียนไปหน่อย ขอบคุณที่ช่วยเช็คครับ
บันทึกการเข้า
xFantasy
สมุนแก๊งเสียว
*

พลังน้ำใจ: 21
ออฟไลน์ ออฟไลน์

กระทู้: 684



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 15 กุมภาพันธ์ 2011, 12:20:10 »

เอาโจทน์ ใหม่ครับ ข้างบนน่ะได้แล้ว แต่มันผิดที่ผมวนลูปสร้าง array
คืำำอ ในหนึ่งหน้า มีสินค้า 10ตัว  สินค้า 1 ตัว ขายหลายที่ หลายราคา ผมจึง ดึงเอาราคาแต่ละที่มาสร้างเป็น array ใหม่ แต่มันไปรวม เอา ราคาของสินค้าตัวอื่น ยัดเข้าไปใน array ด้วย ทำให้ array เพิ่มขึ้นเรื่อยๆ เวลาดึงค่าต่ำสุดสูงสุดออกมามันจึงผิด
แล้วเวลาเราสร้าง array นี่ เราวนลูปสร้าง สำหรับ 1 สินค้า แล้วหยุด พอเราวนลูป สำหรับสินค้าตัวใหม่ ให้สร้าง array ใหม่อย่างไรคับ อาจจะงงกะคำถามนะคับ หุๆ พอดีกำลัง mo ai compare price
บันทึกการเข้า

gigkokman
ก๊วนเสียว
*

พลังน้ำใจ: 19
ออฟไลน์ ออฟไลน์

กระทู้: 435



ดูรายละเอียด
« ตอบ #7 เมื่อ: 15 กุมภาพันธ์ 2011, 12:44:31 »

เอาโจทน์ ใหม่ครับ ข้างบนน่ะได้แล้ว แต่มันผิดที่ผมวนลูปสร้าง array
คืำำอ ในหนึ่งหน้า มีสินค้า 10ตัว  สินค้า 1 ตัว ขายหลายที่ หลายราคา ผมจึง ดึงเอาราคาแต่ละที่มาสร้างเป็น array ใหม่ แต่มันไปรวม เอา ราคาของสินค้าตัวอื่น ยัดเข้าไปใน array ด้วย ทำให้ array เพิ่มขึ้นเรื่อยๆ เวลาดึงค่าต่ำสุดสูงสุดออกมามันจึงผิด
แล้วเวลาเราสร้าง array นี่ เราวนลูปสร้าง สำหรับ 1 สินค้า แล้วหยุด พอเราวนลูป สำหรับสินค้าตัวใหม่ ให้สร้าง array ใหม่อย่างไรคับ อาจจะงงกะคำถามนะคับ หุๆ พอดีกำลัง mo ai compare price

ถ้ามีการวนลูปอยู่แล้ว ก็อาจจะทำเป็นอาเรย์ 2 มิติแล้วก็มาเรียกฟังก์ชัน min | max ของ php ก็น่าจะได้นะครับ
โค๊ด:
$price[รหัสสินค้า] = array(price1,price2,price3,...);
min($price[รหัสสินค้า]);
max($price[รหัสสินค้า]);
« แก้ไขครั้งสุดท้าย: 15 กุมภาพันธ์ 2011, 12:45:50 โดย gigkokman » บันทึกการเข้า

ลิขิตฟ้าหรือจะสู้มานะคน
หน้า: [1]   ขึ้นบน
พิมพ์