Я опишу мою линию мышления.
Что такое шаблон в последовательности 5, 4, 3, 2, 1
? Совершенно ясно, я уменьшаю на единицу каждый раз. Я уже знаю, что $i
увеличивается на единицу каждый раз, потому что именно так мы написали наш цикл for. Моя цель и то, что доступно с $i
, довольно близки, поэтому есть ли способ использовать $i
?
Действительно, есть. Вместо того чтобы говорить, что последовательность 5, 4, 3, 2, 1
уменьшается на единицу каждый раз, я могу сказать, что последовательность увеличивает на расстоянии от 5 на единицу каждый раз. То есть последовательность эквивалентна 5 - 0, 5 - 1, 5 - 2, 5 - 3, 5 - 4
. Обратите внимание, что это идеально согласуется с $i
. Поэтому наше решение может быть следующим:
<?php
$c = count($rank); // 5
for ($i = 0; $i < $c; $i++) {
$labels [] = array("value" =>($c - $i), "text" => $i);
}
Требуется немного интуиции, чтобы увидеть, и если вы находитесь в подобной ситуации и не можете понять шаблон, вы всегда можете ввести новую переменную.
<?php
$c = count($rank); // 5
for ($decreasing = $c, $i = 0; $i < $c; $i++, --$decreasing) {
$labels [] = array("value" =>$decreasing, "text" => $i);
}