2016-06-25 13 views
-1
php hinzufügen
$a = array(2, 6, 24, 16, 7, 10); 

Ich weiß, wie alle Zahlen addieren array_sum() verwenden, aber wenn ich nur die Zahlen zwischen 2 hinzufügen möchten, und 16 wie kann das tun?Wie bestimmte Nummern innerhalb eines Arrays in

Dies ist eine der Lösung, dass ich habe kommen mit:

$a = array(2, 6, 24, 16, 7, 10); 
    $r = array_slice($a, 0, -2); 
    print_r (array_sum($r)); 

nur wissen wollen, ob es eine andere Möglichkeit ist es, das Ergebnis zu erhalten.

+0

* Dies ist eine der Lösung, dass ich habe kommen mit: * Sie einfach Zerschneide die letzten beiden Array-Elemente und summiere sie zusammen. Was genau willst du machen? – Rizier123

+0

Ich wollte die Summe der ersten 4 Zahlen (2,6,24,16) herausfinden. Ich wollte nicht die Summierung zwischen einer Reihe von Zahlen herausfinden. – Nilabh

+0

Sie meinen, Sie haben ein Startelement und ein Endelement, das Sie herausschneiden und zusammensummieren möchten? (einschließlich Anfangs- und Endwert) – Rizier123

Antwort

0

mit dynamisch gebundene Grenzen umgehen Sie den ersten Ansatz erweitern können (array_slice + array_sum) mit array_search Funktion:

$arr = [2, 6, 24, 16, 7, 10]; 
$a = 10; 
$b = 24; 

$lowerBound = array_search($a, $arr); 
$upperBound = array_search($b, $arr); 

if (($low = $lowerBound) > $upperBound) { // if bounds were confused 
    $lowerBound = $upperBound; 
    $upperBound = $low; 
} 
$sum = array_sum(array_slice($arr, $lowerBound, $upperBound - $lowerBound + 1)); 

print_r($sum); // 57 
+0

Danke für die Antworten. Genau das, was ich brauchte .. – Nilabh

+0

Sie sind willkommen – RomanPerekhrest

+0

Wie werden die Werte für lowerBound und upperBound berechnet? Entschuldigen Sie, dass ich Sie wieder belästigt habe. Ich bin eigentlich neu in diesem Bereich. – Nilabh

Verwandte Themen