|
|
|
[PHP] อยากหาค่า MAX MIN จากข้อมูลที่เหมือนกันในแต่ละ line ของข้อมูลที่อ่านจาก text file ค่ะ รบกวนดู code ให้หน่อยค่ะ |
|
|
|
|
|
|
|
ตอนนี้ ที่ทำได้ ค่ามันจะมี 0.6 , 2 , 0.25 , 0.3 , 2 , 0.3 , 1.6
ยังทำให้ตัวแปลเก็บเฉพาะ sumTK ไม่ได้ค่ะ T_T
max กับ min จะเป็น 2 กับ 0.25 ค่ะ
|
|
|
|
|
Date :
2015-06-15 15:34:08 |
By :
sammam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนที่รวมผล TK ของ ID A B C ตอนนี้ใช้ Code อะไรครับได้ใช้ loop ช่วยในการรวมผลหรือเปล่าครับ
|
|
|
|
|
Date :
2015-06-15 15:53:35 |
By :
zinlucifer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ได้ใช้ loop เลยค่ะ(ใช้ไม่เป็น อิอิ)
ใช้ตัวนี้ค่ะ
Code (PHP)
if($Sname == "XXX")
{
if($ID == $IDO)
{
$TKXXX += $TK;
}
else {
$TKXXX = $TK ;
}
|
|
|
|
|
Date :
2015-06-15 16:36:43 |
By :
sammam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าไม่ใช้ loop แล้วหาค่า A B C ด้วยการรัน เพียงครั้งเดียวได้ยังไงอะครับ
|
|
|
|
|
Date :
2015-06-15 17:03:51 |
By :
zinlucifer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้ ตัวนี้ค่ะ
Code (PHP)
$NG3c = 99999.999;
$XG3c = -99999.999;
while (list($line_A,$lineA) = each ($Line))
{
$Qdata = "ABC.txt" ;
$assay = file($Qdata) ;
while (list ($line_num, $linei) = each ($assay))
{
if ($line_num == $line_A )
{
$ID = substr($linei,2,8);
$TK = substr($linei,22,10) ;
$Sname = substr($linei,33,5) ;
if($Sname == "XXX")
{
if($ID == $IDO)
{
$TKXXX += $TK;
}
else {
$TKXXX = $TK ;
}
if($TKXXX < $NXXX)
{
$NXXX = $TKXXX ;
}
if($TKXXX > $XXXX)
{
$XXXX = $TKXXX ;
}
echo echo "Min" ;$NXXX;
echo echo "MAX" ;$XXXX;
}
$IDO = $ID;
}
}
|
|
|
|
|
Date :
2015-06-16 08:27:51 |
By :
sammam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สงสัยว่า while ไม่ใช่ลูปหร๋อครับ??
|
|
|
|
|
Date :
2015-06-16 13:44:25 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
while (list($line_A,$lineA) = each ($Line))
{
$Qdata = "ABC.txt" ;
$assay = file($Qdata) ;
$i = 0; //สร้าง index สำหรับ array
while (list ($line_num, $linei) = each ($assay))
{
if ($line_num == $line_A )
{
$ID = substr($linei,2,8);
$TK = substr($linei,22,10);
$Sname = substr($linei,33,5);
if($Sname == "XXX")
{
if($ID == $IDO)
{
$TKXXX[$i] += $TK;
} else {
$TKXXX[$i] = $TK ;
$i++; //เพิ่ม index ของ array เมื่อพบข้อมูลชุดใหม่
}
}
$IDO = $ID;
}
}
}
rsort($TKXXX); //เรียงลำดับค่า ใน array
$min_index = count($TKXXX)-1; // หา index ของ Min
echo "Min = " .$NXXX[$min_index]; //ค่า Min จะมี index เท่ากับขนาดของ array - 1
echo "MAX = " .$XXXX['0']; //ค่า MAX จะมี index เป็น 0
ลองรันดูครับ สงสัยตรงส่วนไหนถามได้ครับ
|
|
|
|
|
Date :
2015-06-16 14:51:50 |
By :
zinlucifer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากเลยค่ะ
Code (PHP)
while (list($line_A,$lineA) = each ($Line))
{
$Qdata = "ABC.txt" ;
$assay = file($Qdata) ;
$i = 0; //สร้าง index สำหรับ array
while (list ($line_num, $linei) = each ($assay))
{
if ($line_num == $line_A )
{
$ID = substr($linei,2,8);
$TK = substr($linei,22,10);
$Sname = substr($linei,33,5);
if($Sname == "XXX")
{
if($ID == $IDO)
{
$TKXXX[$i] += $TK;
} else {
$TKXXX[$i] = $TK ;
$i++; //เพิ่ม index ของ array เมื่อพบข้อมูลชุดใหม่
}
}
$IDO = $ID;
}
}
}
rsort($TKXXX); //เรียงลำดับค่า ใน array
$min_index = count($TKXXX)-1; // หา index ของ Min
echo "Min = " .$NXXX[$min_index]; //ค่า Min จะมี index เท่ากับขนาดของ array - 1
echo "MAX = " .$XXXX['0']; //ค่า MAX จะมี index เป็น 0
ลอง รันแล้ว MAX MIN ไม่ออกค่ะ T_T
|
|
|
|
|
Date :
2015-06-17 11:26:34 |
By :
sammam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลอง Code นี้ดูใหม่ครับข้างบน logic ผิดครับ
Code (PHP)
while (list($line_A,$lineA) = each ($Line))
{
$Qdata = "ABC.txt" ;
$assay = file($Qdata) ;
$i = 0; //สร้าง index สำหรับ array
while (list ($line_num, $linei) = each ($assay))
{
if ($line_num == $line_A )
{
$ID = substr($linei,2,8);
$TK = substr($linei,22,10);
$Sname = substr($linei,33,5);
if($Sname == "XXX")
{
if($ID == $IDO)
{
$TKXXX[$i] += $TK;
} else {
$i++; //เพิ่ม index ของ array เมื่อพบข้อมูลชุดใหม่
$TKXXX[$i] = $TK ;
}
}
$IDO = $ID;
}
}
}
rsort($TKXXX); //เรียงลำดับค่า ใน array
$min_index = count($TKXXX); // หา index ของ Min
echo "Min = " .$TKXXX[$min_index]; //ค่า Min จะมี index เท่ากับขนาดของ array
echo "MAX = " .$TKXXX['1']; //ค่า MAX จะมี index เป็น 1
|
ประวัติการแก้ไข 2015-06-17 15:21:04 2015-06-17 15:23:07 2015-06-17 15:23:31
|
|
|
|
Date :
2015-06-17 15:14:23 |
By :
zinlucifer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณคุณมากคร้าา
ตอนนี้ได้ค่า MAX แล้วค่ะ แต่ค่า MIN ยังไม่ออก อะค่ะ
|
|
|
|
|
Date :
2015-06-17 15:45:43 |
By :
sammam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แทรก Code ชุดนี้ลงไปดู output หน่อยครับ
Code (PHP)
rsort($TKXXX); //เรียงลำดับค่า ใน array
$min_index = count($TKXXX); // หา index ของ Min
echo "<pre>";
print_r($TKXXX); //แสดงค่า ในarray
echo "</pre>";
echo "count array = ".$min_index;
echo "Min = " .$TKXXX[$min_index]; //ค่า Min จะมี index เท่ากับขนาดของ array
echo "MAX = " .$TKXXX['1']; //ค่า MAX จะมี index เป็น 1
|
|
|
|
|
Date :
2015-06-17 16:04:49 |
By :
zinlucifer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แทรกแล้วได้ตัวนี้ค่ะ
|
|
|
|
|
Date :
2015-06-17 16:56:36 |
By :
sammam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้เป็นตามนี้ครับน่าจะถูกแล้วนะครับ
Code (PHP)
rsort($TKXXX); //เรียงลำดับค่า ใน array
$min_index = count($TKXXX)-1; // หา index ของ Min
echo "Min = " .$TKXXX[$min_index]; //ค่า Min จะมี index เท่ากับขนาดของ array -1
echo "MAX = " .$TKXXX['0']; //ค่า MAX จะมี index เป็น 0
|
|
|
|
|
Date :
2015-06-17 18:04:49 |
By :
zinlucifer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำได้แล้วค่ะ ของคุณพี่ๆ มากๆค่ะ
|
|
|
|
|
Date :
2015-06-18 09:00:09 |
By :
sammam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|