Максим Завитаев
Мудрец
(13852)
8 лет назад
Причем тут вообще массивы? Вы в $prog вообще храните один элемент с текстом. Зачем его в массив пихать не понятно. Чтобы удалить все вхождения строки (комментарии) можно использовать str_replace().
ДокЗнаток (270)
8 лет назад
Так $prog загружается из формы методом POST. Думал, что так загружается только в массив.
Прошу, не ругайте сильно за столь "профанские" вопросы, я только начинаю изучать PHP.
Итак, есть два массива.
С ними требуются некоторые взаимодействия, я понимаю принцип, но операторов в языке так много, что я не могу выбрать нужный.
Примерные массивы:
$prog=array('program analiz
begin
int i, n ; {Описание переменных}
float sum ; {Описание переменных}
readln n ; {Указание количества итераций}
sum:= 0.31e-1 ;
i:=1 ;
while (i<=n)
begin
sum:=sum+(1/i);
i:=i+1;
end
writeln sum; {Вывод результата}
end.');
$oper='program,var,begin,end,ass,if,then,else,for,to,do,while,read,write,true,false';
1. Каким образом из $prog удалить "комментарии" (фигурные скобки с содержимым)? Предполагаю, что лучше использовать регулярку, но мои варианты не действуют.
2. Из $prog выбрать совпадающие элементы массива $oper и поместить их в новый массив (допустим, $operators) без привязки к регистру и исключая повторения.
Я думаю, что тут применим array_filter, но опять ничего не вышло.
3. Как выгрузить в ещё один массив ($ost) оставшиеся слова без цифр и знаков?
4. И как выгрузить в новый массив ($cif) числа через запятую? Тоже пытался через регулярки..
Если Вы не против, то как можно подробнее, чтобы не только смог использовать, но и понять хочется. Могу даже отблагодарить 200 рублями на телефон, а то бьюсь уже несколько вечеров.