<?php
$customer = ["aa_","aa_","aa_","aa_"];
$i = 0;
do{
$customer[$i] = $customer[$i].$i;
$i++;
} while ($i === 4);
echo $i; //print only 1
var_dump($customer);
?>
$customer
реальный выходdo while loop не работает, как я ожидал в `===` состоянии?
array (size=4)
0 => string 'aa_0' (length=4)
1 => string 'aa_' (length=4)
2 => string 'aa_' (length=4)
3 => string 'aa_' (length=4)
Когда я использую while ($i < 4)
работает .Но здесь я неправильно понять почему использование о состоянии получает только цикл за один раз ... Я думаю, что это должно быть
do $i++ -> 1 (1 === 4) loop again
do $i++ -> 2 (2 === 4) loop again
do $i++ -> 3 (3 === 4) loop again
do $i++ -> 4 (4 === 4) stop quit
так как ожидается выход $customer
array (size=4)
0 => string 'aa_0' (length=4)
1 => string 'aa_1' (length=4)
2 => string 'aa_2' (length=4)
3 => string 'aa_3' (length=4)
Это действительно кажется, что вам нужно спать: P '(1 === 4) loop again' <- Я не думаю, что это помогает, если вы читаете его снова 10 раз, но' 1' никогда не было таким же, как '4'. Цикл выполняется снова, если условие оценивается как TRUE, поэтому 1,2,3 должны быть такими же, как 4, чтобы быть истинным. – Rizier123
Также причина, по которой он изначально запущен, содержится в документации [_ Основное отличие от регулярных циклов состоит в том, что первая итерация цикла do-while гарантирована для запуска_] (http://php.net/manual/en/control -structures.do.while.php) – Bankzilla
@ Rizier123 you r right,: (p) Я мог бы отдохнуть! Спасибо за ваше объяснение. –