2016-03-29 20 views
-2

değişkenini eklediysem uzun yıllar kodlamamıştım ve kendi golf istatistik programımı yapmaya karar verdim.PHP döngü boyunca ve eğer anahtar1 operatöre

Diziden geçmek ve istediğim verileri almakla ilgili bir sorunum var. Sanırım çok basit ama çok paslıyım ve kendimi buna okumayı denedim. Herhangi bir yardım için teşekkür ederiz.

Aşağıdaki kod için $ dismade 8 olmak istiyorum, şimdi 4 döndürür?

( )

Bu iyi çalıştı. Teşekkürler. Şimdi bunu 18 kez yapmam gereken başka bir sorunum var. Şanssız olarak aşağıda yapmayı denedim. Yapmak istediğim, 1-14 arası foreach dizisini kontrol etmektir. İçinde 9 anahtar ile hepsi aynı olacak. Bu konuda doğru düşünüyor muyum? Aşağıdaki sadece ilk pozisyonu alır. Örneğin, $ row [fp1] her zaman 2 anahtar olacaktır, ancak içinden geçmek istediğim ve $ gb'ye eklemek istediğim bir sürü değere sahip olabilir ve daha sonra fp2'ye ve böylece 18'e girip $ gir dizisine ekleyebilir. Umarım sorumum mantıklıdır.

$hole1 = array(); 
    $hole2 = array(); 
    $result = mysql_query($sql) or die ("Couldn't select table at!!"); 
    while ($row = mysql_fetch_array($result)) { 

    $hole1[$row[rid]] = array($row[s1],$row[p1],$row[gir1],$row[ngir1],$row[fp1],$row[fw1],$row[ud1],$row[ss1],$row[pen1]); 
    $hole2[$row[rid]] = array($row[s2],$row[p2],$row[gir2],$row[ngir2],$row[fp2],$row[fw2],$row[ud2],$row[ss2],$row[pen2]); 

    } 
    mysql_free_result($result); 
    $gir = array(); 

    foreach (array_combine($hole1,$hole2) as $value) { 
     if($value[2] == 1) { 
      array_push($gir,$value[4]); 
      } 
     } 

    print_r ($gir); 
+0

İkinci kez girdiğinizde '4' tuşuna basıyorsunuz. Niyetin neydi? –

+0

Açıkçası, onu geçersiz kılmamak. Btw, aşağıdan oy haklı değildi. – zyexal

cevap

1

her tuşa

dizide benzersiz olduğundan siz, dizideki bir yinelenen anahtar "4" Çünkü üçüncü hat "4" => "4" dizisi içindeki ilk satırı üst üste böylece .

2

$score anahtarlarınızla ilgili bir sorun var. Gördüğünüz gibi, "4" numaralı bir anahtarınız var.

$score = array([4,4], [3,4], [4,4]); 
$dismade = 0; 
foreach ($score as $value) { 
    if($value[0] == 4) { 
    $dismade += $value[1]; 
    } 
} 
echo $dismade; 

İyi günler:

gibi bir şey deneyin.

+0

Hızlı yardım için teşekkürler. güzel çalıştı. bunun hakkında farklı bir şey mi yapardınız? –

+0

Bu içeriğe bağlıdır - golf hakkında hiçbir şey bilmiyorum ^^. Tamam, ben oy veremiyorum ama cevap ve yardım için teşekkürler im beri – zyexal

+0

sanırım! –