Merhabalar,
Nümerik değerlere sahip 3 tane özel alan var elimde bir şekilde bu alanların ortalamasını almak istiyorum nasıl bir php kodu kullanmalıyım bunun için?
Sayısal Değere Sahip Özel Alanların Ortalamasını Almak
10
●529
- 07-10-2010, 17:57:22Üyeliği durduruldualan adları sırayla alan1, alan2 ve alan3 olsun
$deger1=get_post_meta($post->ID,"alan1",true);
$deger2=get_post_meta($post->ID,"alan2",true);
$deger3=get_post_meta($post->ID,"alan3",true);
$ortalama = ($deger1 + $deger2 + $deger3) / 3;
echo ($ortalama);
unutmayın bu kodları
temanızdaki herhangi bir
while
.
.
endwhile
döngüsü içerisinde kullanmalısınız. - 07-10-2010, 18:13:12Üyeliği durdurulduundefined adlı üyeden alıntı: mesajı görüntüle
echo ($ortalama);
yı
echo (number_format($ortalama, 2, ",", "."));
şeklinde yaz hocam. 2 rakamı ondalıktaki basamak sayısını gösterir.
- 07-10-2010, 19:11:20ufak bir sorunla daha karşılaştım; bir değer 0 olursa bunu ortalamaya dahil etmemek istiyorum diyelim ki
iki değerimiz var
biri 0 bu durumda 2ye değil 1'e bölünmesini istiyorum bu mümkün mü
sorunumu baştan detaylı anlattım burada - 07-10-2010, 20:27:32Üyeliği durdurulduo zamanundefined adlı üyeden alıntı: mesajı görüntüle
$ortalama = ($deger1 + $deger2 + $deger3) / 3;
kısmını aşağıdaki ile değiştirin
$kacabol = 0; if ($deger1 != 0) { $kacabol++; } if ($deger2 != 0) { $kacabol++; } if ($deger3 != 0) { $kacabol++; } $ortalama = ($deger1 + $deger2 + $deger3) / $kacabol; - 07-10-2010, 21:53:06Aşağıdaki şekilde değerleri alıp, düzenlerseniz, hata alma riskiniz azalır.
$kacabol = 0; $deger1=(int) get_post_meta($post->ID,"alan1",true); $deger2=(int) get_post_meta($post->ID,"alan2",true); $deger3=(int) get_post_meta($post->ID,"alan3",true); if ($deger1 != 0) { $kacabol++; } if ($deger2 != 0) { $kacabol++; } if ($deger3 != 0) { $kacabol++; } if ($kacabol != 0) { $ortalama = ($deger1 + $deger2 + $deger3) / $kacabol; }else{ $ortalama = 0; } echo $ortalama;