Php Problemlerim

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yagiztektas
    yagiztektas's avatar
    Kayıt Tarihi: 26/Eylül/2008
    Erkek

    Herkese merhaba,

    Şu an PHP öğrenme aşamasındayım sürekli pratikler yapıyorum ancak araştırıp bulamadığım, düşünüp çözüme ulaştıramadığım bir nokta var yardımcı olursanız çok sevinirim. Aşağıdaki gibi bir örnek çalışma hazırladım. Yapmak istediğim işlem bu iç içe olan dizideki 3 kişinin maaşlarının toplamını ve averajını alabilmek. 

    <?php

    $info = [
          [  
            "İsim" => "Yağız",
            "Soyisim"=> "Tektaş",
            "Yaş" => 27,
            "Maaş" => "5.000 TL"
          ],
          [
            "İsim" => "Alper",
            "Soyisim"=> "Yunuslar",
            "Yaş" => 28,
            "Maaş" => "10.500 TL"
          ],
          [
            "İsim" => "Atakan",
            "Soyisim"=> "Macit",
            "Yaş" => 29,
            "Maaş" => "7.000 TL"
          ]
    ];

       foreach ($info as $inf) {
        echo '<br>';
       foreach($inf as $key => $val){
      echo $key . " : "  . $val . "<br>";
      
      }
          
        }

       
    ?>

     

    yagiztektas tarafından 13/Nis/20 19:19 tarihinde düzenlenmiştir
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yunusemre
    yunusemre's avatar
    Kayıt Tarihi: 22/Ağustos/2016
    Erkek

    $totalSalary = 0;
    foreach ($info as $people) {

    $totalSalary += $people["Maaş"];

    }
    echo 'Toplam Maaş: ' . $totalSalary;

     

    Ayrıca değişken isimlerinde olduğu gibi array keylerinde de Türkçe karakter kullanmazsan daha iyi olur. 

    Ve daha doğru foreach kullanımı: foreach($peoples as $people) { .... }

     

    ya da 

    $totalSalary = array_sum(array_column($info, 'Maaş'));

    echo 'Toplam Maaş: ' . $totalSalary;

     

     

    Edit: Maaş değerlerinde " TL" varmış sonradan farkettim. Sayı olmalı o değerler yoksa çalışmaz üstteki kod.

    Maaşı yazdıracağın yerde $maas . " TL" şeklinde gösterirsin.

     

     
    yunusemre tarafından 13/Nis/20 19:55 tarihinde düzenlenmiştir

    "Programcılar saatler boyunca çalışmak zorunda kalmalarına engel olacak sistemler tasarlamaya saatler boyunca uğraşırlar." David Allen
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yagiztektas
    yagiztektas's avatar
    Kayıt Tarihi: 26/Eylül/2008
    Erkek

    Yardım için çok teşekkür ederim, eline sağlık hocam  :)

     

    Edit : Son olara dizilerde bulunan yaşların nasıl ortalamasını alabilirim acaba ? 

    yagiztektas tarafından 14/Nis/20 15:31 tarihinde düzenlenmiştir
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    acemi-webci
    acemi-webci's avatar
    Kayıt Tarihi: 11/Haziran/2008
    Erkek

    Ortalamayı şöyle alırsın.

     

    $yas_toplam = 0;

    foreach($info as $val){

    $yas_toplam += $val["Yaş"];

    }

    $yas_ortalama = ($yas_toplam/count($val));

     

    hocam ufak bir önerim olacak, kullandığın tüm değişken isimlerini daha sonra baktığında anlayacağın şekilde tek bir düzende yazmanı öneririm. Hazır öğreniyorken alışkanlık edin, kodun düzenli olsun kaliteli görünsün.


    ...
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yagiztektas
    yagiztektas's avatar
    Kayıt Tarihi: 26/Eylül/2008
    Erkek

    Hocam emeğinize sağlık çok teşekkür ederim, öneriyi dikkate alacağım.

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    end
    end's avatar
    Kayıt Tarihi: 16/Ekim/2016
    Erkek

    High order fonksiyonlari bu tarz isler icin tasarlanmis pratik ve performansli fonksiyonlardir.

    <?php
    $info = [
          [  
    
            "isim" => "Yağız",
            "soyisim"=> "Tektaş",
            "yas" => 27,
            "maas" => "5000"
          ],
          [
            "isim" => "Alper",
            "soyisim"=> "Yunuslar",
            "yas" => 28,
            "maas" => "10500"
    
          ],
          [
            "isim" => "Atakan",
            "soyisim"=> "Macit",
            "yas" => 29,
            "maas" => "7000"
          ]
    ];
    
    echo array_sum(array_map(function($item) {
        return $item['maas'];
    }, $info))/count($info);

     


    0x0480 takilin madem ﷽﷽﷽
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yagiztektas
    yagiztektas's avatar
    Kayıt Tarihi: 26/Eylül/2008
    Erkek

    Hocam çok teşekkür ederim bunları da iyice kavrayıp kullanmam gerekiyor. Henüz başlardayım ve bazen karman çorman oluyor her şey gözümde :D 

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yolbulucu
    yolbulucu's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Homo

    döngüleri anlamamışsın sen, 

    siktiret maaşı falan. üçgen yaptın mı ? üçgen yap. üçgen yapmadan programlama öğrenilmez ! 

     


    29.99cm, titanyum kaplamalı, çift damarlı, su ve yağ soğutmalı.
Toplam Hit: 1404 Toplam Mesaj: 8
php