Nasıl Kurma Can "Nerede"

2 Cevap php

Ben uygulamak mümkün duyuyorum "nerede" Ben bir MySQL sorgu için bir "nerede" deyimini uygulamak mümkün olacağını nasıl benzer PHP diziler ifadeler,?

Örneğin, ben şu diziyi olduğunu varsayalım:

$recordset = array(
array('host' => 1, 'country' => 'fr', 'year' => 2010,
    'month' => 1, 'clicks' => 123, 'users' => 4),
array('host' => 1, 'country' => 'fr', 'year' => 2010,
    'month' => 2, 'clicks' => 134, 'users' => 5),
array('host' => 1, 'country' => 'fr', 'year' => 2010,
    'month' => 3, 'clicks' => 341, 'users' => 2),
array('host' => 1, 'country' => 'es', 'year' => 2010,
    'month' => 1, 'clicks' => 113, 'users' => 4),
array('host' => 1, 'country' => 'es', 'year' => 2010,
    'month' => 2, 'clicks' => 234, 'users' => 5),
array('host' => 1, 'country' => 'es', 'year' => 2010,
    'month' => 3, 'clicks' => 421, 'users' => 2),
array('host' => 1, 'country' => 'es', 'year' => 2010,
    'month' => 4, 'clicks' => 22,  'users' => 3),
array('host' => 2, 'country' => 'es', 'year' => 2010,
    'month' => 1, 'clicks' => 111, 'users' => 2),
array('host' => 2, 'country' => 'es', 'year' => 2010,
    'month' => 2, 'clicks' => 2,   'users' => 4),
array('host' => 3, 'country' => 'es', 'year' => 2010,
    'month' => 3, 'clicks' => 34,  'users' => 2),
array('host' => 3, 'country' => 'es', 'year' => 2010,
    'month' => 4, 'clicks' => 1,   'users' => 1),);

Nasıl ben sadece çıkışını sınırlamak 'ev sahibi' 1 ve 'ülke' fr ile ilgili anahtarlar ve değerler gösteriyor?

Herhangi bir yardım büyük olurdu.

2 Cevap

Amber dediği gibi, array_filter bunun için idealdir. Lambdas ile birlikte, bunu oldukça özlü yapabilirsiniz:

$output = array_filter($recordset, 
            function($el){return $el["host"] == 1 && $el["country"] == 'fr';});