Сообщение от garrip91
|
я могу предположить(но опять же я в этом не
уверен)
Ну смотря сколько этих шариков в комнате.
|
Да, тяжелый случай, как же вы программировать собираетесь?
Не важно сколько шариков, вынесете вы таким способом всего один! Как можно вынести больше, если первое, что вы делаете зайдя в комнату, это выворачиваете карман, тем самым выбрасывая ранее взятый шарик. Каждый раз выходя из комнаты, вы выносите по одному шарику. А чтобы забрать все, пиджак с карманом должен висеть вне комнаты - зашли, взяли шарик, вынесли его, положили в карман пиджака, пошли за следующим. Вот тогда можно вынести все.
Так же и в циклах - если переменная должна хранить сумму, произведение и прочее, то она инициализируется вне цикла, до него, один раз. Вот что у вас:
foreach ($array as $key => $value) {
$sum = 0; //каждый раз при каждой итерации вы обнуляете переменную (выворачиваете свой карман)
sum = $sum + $value; //затем к нулю прибавляете значение текущей итерации, то есть предыдущих значений нет
}
$sum = 0; //инициализировали переменную (пиджак с карманом вне команты)
foreach ($array as $key => $value) {
$sum = $sum + $value; //теперь к $sum хранящей сумму прибавляется текущее значение
}
РНР выдавало предупреждение, что переменная $sum у вас не инициализирована, но это не является ошибкой, РНР будет использовать с первоначальным значением null.