2012-03-28 7 views
3

Ich habe Code wie folgt aus:PHP Zählwert in Array

<?php if(isset($global_info_results)): ?> 
    <?php echo count($global_info_results) ?> 
    <span>Mali Oglasi: </span> 
    <?php foreach ($global_info_results as $result) : ?> 
     <?php if($result->info_type_id == 1) : ?> 
     <p><?php echo $result->name?></p> 
     <?php endif ?> 
    <?php endforeach; ?> 
<?php endif ?> 

Wie kann ich bestimmte Wert innerhalb Array zählen (zum Beispiel möchte ich zählen, wie viel Ergebnis haben info_type_id == 1).

Antwort

3
<?php $a = 0 
    foreach ($global_info_results as $result) 
    if($result->info_type_id == 1) 
     { $a = $a + 1} 
    End Foreach?> 

    <span>Mali Oglasi: </span> 
    <?php foreach ($global_info_results as $result) : ?> 
     <?php if($result->info_type_id == 1) : ?> 
     <p><?php echo $result->name?></p> 
+0

Ich muss vor dem Titel zählen (Mali Oglasi:) – Sasha

+0

Würde es jetzt nicht funktionieren? –

2

Sie könnten array_filter verwenden, um ein Array von Werten zu generieren, die den Kriterien entsprechen, die Sie zählen möchten, und dann die Anzahl der Ergebnisse zu berechnen. Das folgende Beispiel gibt die Anzahl der Elemente in einem Array, die einen Wert von mehr als 4:

$items = array (1, 2, 3, 4, 5, 6, 7, 8, 9); 
$itemsOfInterest = array_filter ($items, function ($elem) {return ((int) $elem > 4);}) 
echo (count ($itemsOfInterest)); 
+0

Hmm, das ist nicht für mich arbeiten. – Sasha

+0

Es erfordert PHP 5.3+, andernfalls müssen Sie den Callback separat definieren und seinen Namen als Callback-Argument angeben. – GordonM