Short data of .txt file using Php. Brief description given below. Need help pls | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
0

Short data of .txt file using Php. Brief description given below. Need help pls

I have one file one.txt which contains players scores like Virat = 70 Dhoni = 50 Rahane = 80* Rohit = 150* Dhawan = 60 Hardik = 30 * Shows that player is not out. Now i want highest score for both not out and out. In output i want Highest not out score - 150 And Highest out score - 70. How can i do ... I have tried myself but not getting right answer. Anyone can help me please... I don't want code any one can suggest me algorithm too... Thank you

6th Nov 2017, 4:44 PM
Mahesh Suthar
Mahesh Suthar - avatar
11 Answers
+ 1
Use 3 variables - First for read - Second to assign not out if it is bigger than saved not out. - Third to assign out if it is bigger than saved out.
9th Nov 2017, 12:38 AM
Daniel
Daniel - avatar
+ 1
$notout=0; $out=0; $read=0; READ until eof if $read "is not out" and $read>$notout then $notout=$read else if $read "is out" and $read>$out then $out=$read This is some type of pseudocode so you must to "translate" to PHP. I hope it help you ;-)
9th Nov 2017, 12:46 AM
Daniel
Daniel - avatar
+ 1
i tried something very related to this but didn't get output... anywy I'll try again
9th Nov 2017, 3:31 AM
Mahesh Suthar
Mahesh Suthar - avatar
0
I will be waiting for your code
9th Nov 2017, 3:25 AM
Daniel
Daniel - avatar
0
<?php  $out = []; $notout = []; $array_notout = []; $array_out=[]; $handle = fopen("one.txt", "r"); if ($handle) {     while (($line = fgets($handle)) !== false) {      $len = strlen($line);  $string = $line;    $var = substr(trim($string), -1);  if($var == '*'){      array_push($notout, $line);            } else { array_push($out, $line); } } foreach ($notout as $value){ $exp = explode('=',$value); $t = str_replace( '*', '', $exp[1] ); //echo $t; $array_notout[$exp[0]] = $t; } //print_r($array_notout); foreach ($out as $val){ $exps = explode('=',$val); $array_out[$exps[0]] = $exps[1]; } sort($array_notout); sort($array_out); //print_r($array_notout); echo "<br>"; echo "The Highest score is of out is ".$array_out[0]; echo "The Highest score is of Not out is ".$array_notout[0];     fclose($handle); } else {     // error opening the file. }  ?>
9th Nov 2017, 12:57 PM
Mahesh Suthar
Mahesh Suthar - avatar
0
not working for * array
9th Nov 2017, 12:57 PM
Mahesh Suthar
Mahesh Suthar - avatar
0
But is it working?
9th Nov 2017, 1:42 PM
Daniel
Daniel - avatar
0
ya i m getting right answer for OUT... but for not out I'll have to look on sorting
9th Nov 2017, 1:57 PM
Mahesh Suthar
Mahesh Suthar - avatar
0
ok but I think you are using more code than you must
9th Nov 2017, 1:59 PM
Daniel
Daniel - avatar
0
i don't know but i just followed simple algorithm...
9th Nov 2017, 2:11 PM
Mahesh Suthar
Mahesh Suthar - avatar
0
I think you dont need arrays because you wrote finally you only need one value per out and one per not out
9th Nov 2017, 2:13 PM
Daniel
Daniel - avatar