Как отобразить значения массива, которые увеличиваются PHP - PullRequest
2 голосов
/ 06 марта 2019

У меня есть такой массив:

$aArray = array('one' => 0, 'two' => 0, 'three' =>0);

И цикл while, подобный этому:

$x = 50;
$y = 400;

$current = current($aArray);

while ($x<$y) {
    $current++;
    $x+=50;

    if($x==$y) {
        $current = next($aArray);
    }
}

Теперь я хочу показать массив с увеличением общего времени,но я не знаю как.И можно ли это показать без использования цикла?

Ответы [ 2 ]

0 голосов
/ 06 марта 2019

Вы можете извлечь ключи из массива и затем запустить в соответствии с индексом.

Рассмотрим следующую модификацию:

$aArray = array('one' => 0, 'two' => 0, 'three' =>0);
$keys = array_keys($aArray);

$x = 50;
$y = 400;

$i = 0;
while ($x<$y) {
    $aArray[$keys[$i]]++;
    $x+=50;

    if($x==$y) {
        $i++;
    }
}

print_r($aArray); // array('one' => 7, 'two' => 0, 'three' =>0);

Если вы не хотите зацикливаться, вы можете просто сделать:

$delta = $y - $x;
$cnt = intval($delta / 50);
if ($delta % 50 != 0)
    $cnt++

Теперь $cnt будет 7 иВы можете установить его в: $aArray["one"] = $cnt;

0 голосов
/ 06 марта 2019

Если вы хотите увеличить количество массивов, я добавил строку кода

$x = 50;
$y = 400;
$aArray = array('one' => 0, 'two' => 0, 'three' =>0);
$countInc=0;

$current = current($aArray);

while ($x<$y) {
    $current++;
    $x+=50;
    $countInc++;
  
    if($x==$y) {
        $current = next($aArray);
    }
}
echo "Total Number of Increment from that Array: ". $countInc;
...