@SpeakeazyYT18903109

Почему внутри цикла while к концу значения переменной не прибавляется +1, а просто приписывается рядом?

Добрый вечер. Имеется следующий код:
<?php

$code = 1;
$sc = "bloki_vydvizhnykh_lotkov";
$array = Array (
    "0" => "bloki_vydvizhnykh_lotkov",
    "1" => "bloki_vydvizhnykh_lotkov_1",
    "2" => "bloki_vydvizhnykh_lotkov_2",
    "3" => "bloki_vydvizhnykh_lotkov_3",
    "4" => "bloki_vydvizhnykh_lotkov_4",
);
  
while (in_array($sc, $array)) {
  $sc = $sc."_".$code++;
}
echo $sc;


Результат:
bloki_vydvizhnykh_lotkov_1_2

В котором while с условием, если в массиве $array есть значение переменной $sc, то по идее мы должны прибавлять каждый раз к концу переменной $sc +1, чтобы выглядело вот так:
bloki_vydvizhnykh_lotkov_1
bloki_vydvizhnykh_lotkov_2
bloki_vydvizhnykh_lotkov_3
...
и так далее

Но дело в том, что я не понимаю как это реализовать и код, который я написал просто приписывает новое значение _$code к переменной $sc, но не прибавляет число на +1

Как это сделать?
  • Вопрос задан
  • 123 просмотра
Решения вопроса 1
@SpeakeazyYT18903109 Автор вопроса
Вот решение:
$code=1;
$sc = "bloki_vydvizhnykh_lotkov_1";
$array = Array (
    "0" => "bloki_vydvizhnykh_lotkov",
    "1" => "bloki_vydvizhnykh_lotkov_1",
    "2" => "bloki_vydvizhnykh_lotkov_2",
    "3" => "bloki_vydvizhnykh_lotkov_3",
    "4" => "bloki_vydvizhnykh_lotkov_546546",
);
  
while (in_array($sc, $array)) {
  $sc = substr_replace($sc,$code++,-1);
}
echo $sc;


На выходе имеем:
bloki_vydvizhnykh_lotkov_4
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы