Заменить тип кавічек в строковой переменной с одинарных на двойные
Дана задача ниже. Надо вывести строку $str и массив $arr из этой строки (в массиве должны быть только цифры). Вопрос: как изменить тип кавычек на двойные вместо одинарных, кроме как руцями? Просто сделать замену $i $r через str_replace - сказали плохая практика. ЗЫ: свой путь только начинаю, в полном объеме знаниями и навыками не обладаю.
Дано:
$k = 8;
$r = 1;
$str = '21,36,0,$i,3,19,125,$r,42,';
Решение:
//заменяем переменные на значения
$str = str_replace('$k', $k, $str);
$str = str_replace('$r', $r, $str);
// обрезаем лишние запятые
$str2 = trim($str, ',');
// переводим в массив
$arr = explode(',', $str2);
// Для каждой пары ключ-значение в массиве arr проверяем, что значение является цифрой. Если нет, то удаляем.
foreach ($arr as $key => $value) {
if (is_numeric($value) == false) {
unset($arr[$key]);
}
}
// пересобираем массив без пустых значений
$arr = array_values($arr);
// Выводим в браузер $str
print_r ($str);
// Выводим с новой строки несортированный массив
echo '<pre>';
print_r ($arr);
echo '</pre>';