2016-12-09 2 views
0

У меня есть ниже массивPHP массива получить количество наиболее непрерывно дорожат

$arr = [ 
    'a' => [ 
       'key' => 'win' 
      ], 
    'b' => [ 
       'key' => 'loss' 
      ], 
    'c' => [ 
       'key' => 'loss' 
      ], 
    'd' => [ 
       'key' => 'win' 
      ], 
    'e' => [ 
       'key' => 'win' 
      ], 
    'f' => [ 
       'key' => 'win' 
      ], 
    'g' => [ 
       'key' => 'loss' 
      ], 
]; 

Я хочу подсчет наиболее непрерывные «выиграть» здесь.

Таким образом, в приведенном выше примере общий счет должен быть равен 3, так как d, e и f содержат наиболее непрерывное «выигрыш».

Как добиться такого типа подсчета из массива PHP.

Заранее спасибо.

+0

Можете ли вы опубликовать код, который вы пробовали? –

+0

Я пробовал, но получаю итоговое значение «выиграть». Итак, как я могу это сделать, я не могу знать? Надеюсь, вы поможете мне исправить ситуацию. –

+1

@MuhammadFaizanUddin Дуп-ссылка - это другой вопрос. – Yoshi

ответ

3

У вас может быть одна переменная, чтобы сохранить максимальную и текущую непрерывную победу.

$arr= array(
    "a" => array("key" => "win"), 
    "b" => array("key" => "loss"), 
    "c" => array("key" => "loss"), 
    "d" => array("key" => "win"), 
    "e" => array("key" => "win"), 
    "f" => array("key" => "win"), 
    "g" => array("key" => "loss") 
); 

$max = 0; 
$count = 0; 
foreach($arr as $value){ 
    if ($value["key"] == "win") $max = max(++$count, $max); 
    else $count = 0; 
} 

var_dump($max); 
+0

Отлично !!! Хорошо работать со всем сценарием. Благодарю. :) –

+0

Отлично! Работайте как шарм: http://phpio.net/s/1soi –

Смежные вопросы