หาค่า min max ใน array ของ php ยังไงครับ

เริ่มโดย xFantasy, 15 กุมภาพันธ์ 2011, 11:05:08

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

xFantasy

อยากหาค่า ต่ำสุด สูงสุด ออกมาแสดง จากข้อมูลใน array คับ ลองค้นหาใน google แล้วทำตาม มันไม่ได้คับ เซียน php ช่วยด้วยครับ
[direct=http://www.shoesonlineprices.com]Best Shoes[/direct]
[direct=http://www.watchesonlineprices.com]Watches price Review[/direct]
[direct=http://www.handbagsonlineprices.com]Handbags best price Review[/direct]
[direct=http://www.luggagesonlineprices.com]Luggages price Review[/direct]
[direct=http://www.golfclubsonlineprices.com]golf clubs price Review[/direct]

marknary

#1
$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
}

kenessar

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


xFantasy

ขอบคุณครับ แต่ปัญหาใหม่เกิดอีกแล้ว ตอนวนลูปสร้าง array มันดันรวม เอาราคา หลายๆ สินค้า มารวมกัน ยังหาทางแก้ไม่ได้คับ งงอยู่
[direct=http://www.shoesonlineprices.com]Best Shoes[/direct]
[direct=http://www.watchesonlineprices.com]Watches price Review[/direct]
[direct=http://www.handbagsonlineprices.com]Handbags best price Review[/direct]
[direct=http://www.luggagesonlineprices.com]Luggages price Review[/direct]
[direct=http://www.golfclubsonlineprices.com]golf clubs price Review[/direct]

chor_th

อ้างถึงจาก: marknary ใน 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()
{
    $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);

??? น่าจะเป็นอย่างนี้หรือเปล่าครับ
เพราะ function ยังไม่ได้รับค่า $data เข้ามาอ่ะครับ
[direct=https://www.9developer.com]9Developer | รับพัฒนา PHP, Android Cordova, IBM Notes XPages[/direct]
[direct=https://www.dofollow.in.th]SEO เบื้องต้น[/direct]

marknary

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

xFantasy

เอาโจทน์ ใหม่ครับ ข้างบนน่ะได้แล้ว แต่มันผิดที่ผมวนลูปสร้าง array
คืำำอ ในหนึ่งหน้า มีสินค้า 10ตัว  สินค้า 1 ตัว ขายหลายที่ หลายราคา ผมจึง ดึงเอาราคาแต่ละที่มาสร้างเป็น array ใหม่ แต่มันไปรวม เอา ราคาของสินค้าตัวอื่น ยัดเข้าไปใน array ด้วย ทำให้ array เพิ่มขึ้นเรื่อยๆ เวลาดึงค่าต่ำสุดสูงสุดออกมามันจึงผิด
แล้วเวลาเราสร้าง array นี่ เราวนลูปสร้าง สำหรับ 1 สินค้า แล้วหยุด พอเราวนลูป สำหรับสินค้าตัวใหม่ ให้สร้าง array ใหม่อย่างไรคับ อาจจะงงกะคำถามนะคับ หุๆ พอดีกำลัง mo ai compare price
[direct=http://www.shoesonlineprices.com]Best Shoes[/direct]
[direct=http://www.watchesonlineprices.com]Watches price Review[/direct]
[direct=http://www.handbagsonlineprices.com]Handbags best price Review[/direct]
[direct=http://www.luggagesonlineprices.com]Luggages price Review[/direct]
[direct=http://www.golfclubsonlineprices.com]golf clubs price Review[/direct]

gigkokman

#7
อ้างถึงจาก: xFantasy ใน 15 กุมภาพันธ์ 2011, 12:20:10
เอาโจทน์ ใหม่ครับ ข้างบนน่ะได้แล้ว แต่มันผิดที่ผมวนลูปสร้าง 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[รหัสสินค้า]);

ลิขิตฟ้าหรือจะสู้มานะคน