2013-03-05 2 views
0

У меня есть этот массив:Показать массив в таблице с условием (PHP)

Array ([2-3] => player1 [1-3] => player2 [2-0] => player1 [5-1] => player1 [2-4] => player2 [4-1] => player2) 

То, что я хочу что-то вроде: if array value is "player1" show all its keys in a table

Результат для player1 должно быть это в таблице:

  • 2-3
  • 2-0
  • 5-1

Я бы сделал то же самое для player2 в другой таблице. Как мне это сделать?

+0

Я довольно новыми для PHP, но я попытался Еогеасп, в то время как, если возможно, но я не закодировал их правильный путь. – 10now

+0

Почему бы вам не сделать свой массив более простым? С игроком в качестве ключа, а затем массивом с оценками в качестве значения? – Tchoupi

+0

у вас есть рабочий ответ ниже, но у @MathieuImbert есть хороший момент. Как создается этот массив? Возможно, вам не нужен еще один шаг, чтобы получить то, что вам нужно, и вместо этого сделайте это так, как вы хотите, в первую очередь. – Popnoodles

ответ

1

Вы можете просто использовать простой цикл, чтобы сделать это:

$target = 'player1'; 
$result = array(); 
foreach ($array as $values => $player) { 
    if ($player === $target) { 
     $result[] = $values; 
    } 
} 

Вы можете просто изменить $target для других игроков.

0

Попробуйте это:

$array = Array ("2-3" => "player1", "1-3" => "player2", "2-0" => "player1", "5-1" => "player1", "2-4" => "player2", "4-1" => "player2"); 

$res  = array(); 
for($i=0;$i<count($array);$i++){ 
    $key  = array_search("player1",$array); 
    if($key){ 
     $res[] = $key; 
     $array[$key] = ""; 
    } 
} 
echo "<pre>"; 
print_r($res); 

выход:

Array 
(
    [0] => 2-3 
    [1] => 2-0 
    [2] => 5-1 
) 
Смежные вопросы