پروژه اطلاعات دانش اموزان

پرسیده شده
فعالیت 1122 روز پیش
دیده شده 345 بار
0

ببخشید یک مشکلی دارم ممنن میشم کمکم کنید 

یه جدولی دارم یک سری اطلاعات از دانشجویان نشون میده که اطلاعات به صورت ارایه های چند بعدی هست و یکی از ارایه های داخلی نمرات دانشجویان هستش 

و میخوام تو جدولم در اخر جمع نمرات اونا رو هم نمایش بدم 

بدون او جمع نمران مشکلی ندارم و اطلاعات رو با foreach نمایش میدم و لی نمیدونم چطوری از او تابع جمع نمرات تو foreach استفاده کنم که تکرار بشه و فقط برای یک دانشجو نمایش میده 

لطفا کمک کنبد

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    td{
        border: 1px solid black;
    }
    table{
        position: relative;
        left: 500px;
        top: 300px;
    }
    
    </style>
</head>
<body>
    <?php 
    $studen=array(
        "1000"=>[
            "name"=>"saman",
            "pass"=>1214,
            "marks"=>[12,13,14,18,12,14,9]
        ],
        "1001"=>[
            "name"=>"sami",
            "pass"=>1215,
            "marks"=>[3,8,14,7,12,18,9]
        ],
        "1002"=>[
            "name"=>"erfan",
            "pass"=>1216,
            "marks"=>[10,3,5,20,7,9,9]
        ],
        "1003"=>[
            "name"=>"mohammad",
            "pass"=>1217,
            "marks"=>[12,13,14,18,12,14,9]
        ],
    );
    
    $students=json_decode(json_encode($studen));
    
    foreach ($students as $student => $value) {
        function sumMarks ( $marks){
            $base = 0 ;
            if (count($marks) <= 7) {
                for ($i=0; $i < count($marks); $i++) { 
                    $base = $marks[$i] + $base ;
                    
                }
                return $base;
            }else {
                return "Tahts bull shit!!";
            }
        } 
    ?>
    <table>
    <thead>
        <tr>
        <td><strong> name </strong></td>        
        <td><strong> pass </strong></td>        
        <td><strong> marks </strong></td>        
        <td><strong> sumMarks </strong></td>        
        </tr>
    </thead>
    <tbody>
    <tr>
    <td><?php echo $value->name;  ?></td>
    <td><?php echo $value->pass;  ?></td>
    <td><?php echo implode(",",$value->marks) ;  ?></td>    
    <td><?php echo sumMarks($value->marks);  ?></td>    
    </tr>
    </tbody>
    </table>
    <?php
     }
    
    ?>
</body>
</html>
فایل پیوست

محمد خضرپور
محمد خضرپور

15 فروردین 00

2
حذف شده

سلام و احترام

ایراد اینه که شما تعریف تابع رو داخل یک تابع قرار دادید و این تابع سعی میکنه که بیشتر از یک بار تعریف بشه که به خطا میخوره، شما باید یک بار تابع رو تعریف کنید و بعد اون رو داخل foreach صداش بزنید و ازش استفاده کنید:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
    td{
        border: 1px solid black;
    }
    table{
        position: relative;
        left: 500px;
        top: 300px;
    }
    
    </style>
</head>
<body>
    <?php 
    $studen=array(
        "1000"=>[
            "name"=>"saman",
            "pass"=>1214,
            "marks"=>[12,13,14,18,12,14,9]
        ],
        "1001"=>[
            "name"=>"sami",
            "pass"=>1215,
            "marks"=>[3,8,14,7,12,18,9]
        ],
        "1002"=>[
            "name"=>"erfan",
            "pass"=>1216,
            "marks"=>[10,3,5,20,7,9,9]
        ],
        "1003"=>[
            "name"=>"mohammad",
            "pass"=>1217,
            "marks"=>[12,13,14,18,12,14,9]
        ],
    );

    function sumMarks ($marks){
        $base = 0 ;
        if (count($marks) <= 7) {
            for ($i=0; $i < count($marks); $i++) { 
                $base = $marks[$i] + $base ;
                
            }
            return $base;
        }else {
            return "That's bull shit!!";
        }
    } 

    $students=json_decode(json_encode($studen));
    
    foreach ($students as $student => $value) {
        $marks = $value->marks;
        echo sumMarks ($marks)
    ?>
    <table>
    <thead>
        <tr>
        <td><strong> name </strong></td>        
        <td><strong> pass </strong></td>        
        <td><strong> marks </strong></td>        
        <td><strong> sumMarks </strong></td>        
        </tr>
    </thead>
    <tbody>
    <tr>
    <td><?php echo $value->name;  ?></td>
    <td><?php echo $value->pass;  ?></td>
    <td><?php echo implode(",",$value->marks) ;  ?></td>    
    <td><?php echo sumMarks($value->marks);  ?></td>    
    </tr>
    </tbody>
    </table>
    <?php
     }
    
    ?>
</body>
</html>

 

فایل پیوست

امیر صالحی

توسط

امیر صالحی

15 فروردین 00