2016-11-11 6 views
-4

Ich habe ein ArrayCount Anzahl der Elemente im Array über 0

array:3 [▼ 
    1 => "2" 
    2 => "2" 
    3 => "0" 
] 

ich die Anzahl der Tasten zählen mag, die den Wert über 0. Im obigen Beispiel haben sollte, ich habe die Antwort 2.

Hier ist mein Versuch.

return count($input_items > 0); 

Dies gibt 1

+4

Sie können wahrscheinlich googeln, dass in 3 min. Du stellst auch keine Frage, du tust so, als ob jemand anders herkommen würde und schreibe dies für dich. –

+1

Sie sind ein fauler Artisan .... versuchen Sie, Ihren Code 'count ($ input_items> 0)' zu lesen, was sagt es überhaupt? Es sagt: 'count ($ input_items größer als Null)', es ist einfach und es sollte funktionieren, wenn Ihr PHP-Interpreter ein Mensch ist. Glücklicherweise wird der PHP-Interpreter von einem Computer ausgeführt ($ input_items> 0) ist eine binäre "compare" -Funktion mit dem Operator '>' und zwei Inputs '$ input_items' und' 0' im Wesentlichen können Sie es als '> schreiben ($ input_items , 0) '... was zu" ist $ input_items größer als null? " und die Antwort ist entweder WAHR oder FALSCH, also zählen Sie letztendlich den booleschen Wert. – Kyslik

+2

Ich stimme ab, diese Frage als off-topic zu schließen, weil der Benutzer eindeutig keine Nachforschungen angestellt hat, um das Problem selbst zu lösen. – Styphon

Antwort

6

Sie können array_filter als:

count(array_filter($array)) 

Wenn Sie nicht eine Rückruffunktion liefern kann, es filtert alle Werte heraus, dass gleich falsch (boolean conversion).

Verwandte Themen