Доброго времени суток! Сразу к сути:
Есть строка вида
11010010101101
и ключ, массив, например:
array(
'3' => '1',
'5' => '1',
'10' => '1'
);
строка хранится в базе, ключ передается в
$_SESSION
Задумка такова, что получив строку из базы, позиция 3, 5, 10 заменяются с 0 на 1 (отсчет позиций начинается с 1). Т.е. на выходе должна получиться строка вида:
11111010111101
пробовал через
str_split() загнать строку из бд в массив посимвольно, но не могу додумать как полученными двумя массивами (строки и ключей) обращаться, чтоб добиться желаемого результата.
Данный массив-ключ приведен для примера, сам по себе он динамический и может иметь от 1 до количества символов в изменяемой строке (в данном случае до 14) ячеек.
Надеюсь на Вашу помощь. Заранее благодарен!
UPD: [РЕШЕНИЕ]
function genNew($word, $key_array=array())
{
$split_word = str_split($word);
foreach ($key_array as $key => $array_elements)
{
$split_word[$key-1] = $array_elements;
}
$new_word = implode($split_word);
return $new_word;
}
применение:
$a = '11010010101101';
$places_array = array(
'3' => '1',
'5' => '1',
'10' => '1'
);
echo genNew($a, $places_array);