John Doe
				Продвинутый
				
				Дата регистрации:
14.01.2019 19:23:31
				Сообщений: 42
			 
			ashifin
По заданию к 7 уроку по основам php/ "Откройте текстовый файл в «Блокноте» или любом другом редакторе с помощью скрипта на PHP."
Тоже как то не понял вопрос, нашел решение через массивы, но как бы ведь это 7 урок только!))
Возможно нужно покапать справочник и найти функцию.
Нашел в справочнике в расширениях для работы с системой..
В уроке как раз про это говорилось на примере `date`.
В общем, моё решение:
- предварительно создайте файл txt рядом файлом скрипта, чтобы с путём не заморачиваться.
- далее напишите следующий код:
$file = 'myfile.txt';
echo exec($file); 
			
			
		 
			
			
			
				
				
				John Doe
				Продвинутый
				
				Дата регистрации:
14.01.2019 19:23:31
				Сообщений: 42
			 
			Задача №14
Кто как решил? 
Моё решение:
$staff = [
    [
        'name' => 'Петя',
        'age' => 22
    ],
    [
        'name' => 'Вася',
        'age' => 27
    ],
    [
        'name' => 'Коля',
        'age' => 25
    ]
];
$sumAge = 0;
foreach ($staff as $value) {
    $sumAge += $value['age'];
}
$sAge = $sumAge / 2;
echo 'Средний возраст сотрудников: ' . $sAge;
			
			
		 
			
			
			
				
				
				John Doe
				Продвинутый
				
				Дата регистрации:
14.01.2019 19:23:31
				Сообщений: 42
			 
			Моё решение 19 задачи (насколько я понял условие):
$sum = function($a, $b)
{
    return $a + $b;
};
//echo $sum(5, 10);
function test(array $arr, $func)
{
   if(count($arr)%2 != 0) return;
    foreach ($arr as $v) {
        if(!is_numeric($v)) return;
    }
    for($i = 0; $i < count($arr); $i++) {
        if($i % 2 == 0) $a = $arr[$i];
        else {
            $b = $arr[$i];
            echo $func($a, $b) . ', ';
        }
    }
}
$arr = [1,2,3,4,5,'0'];
test($arr, $sum); //3, 7, 5, 
			
			
		 
			
			
			
				
				
				John Doe
				Продвинутый
				
				Дата регистрации:
14.01.2019 19:23:31
				Сообщений: 42
			 
			20-я задача, вроде несложная.
/**
 * @param $arr2d2 - двумерный числовой массив
 * @param $averArr - анонимная функция
 * @return Generator - передающий внутренний массив для вычисления
 */
function gener($arr2d2, $averArr)
{
    foreach ($arr2d2 as $v) yield $averArr($v);
}
//двумерный числовой массив
$arr2d2 =[
    [1,2,3,4,5],
    [6,7,8,9,10]
];
//запускаем генератор
$gener = gener($arr2d2, function($v)//принимаем внутренний числовой массив
{
    $sum = 0; //начальное значение суммы элементов переданного массива
    foreach ($v as $val) $sum += $val; //считаем сумму всех элементов массива
    return $sum / count($v); //возвращаем среднее значение
});
//итерируем(или генерируем)
foreach ($gener as $v) echo "$v, "; 
			
			
		 
			
			
			
				
				
				John Doe
				Продвинутый
				
				Дата регистрации:
14.01.2019 19:23:31
				Сообщений: 42
			 
			№1_23
Тут пришлось повозиться (из-за многобайтности), а так, вроде, просто:
<?php
    $iStr = $oStr = false;
    if(isset($_POST['text'])) {
        $iStr = $_POST['iString'] ?? false;
        for ($i = 0; $i < mb_strlen($iStr); $i++) {
            $arr[] = mb_substr($iStr, $i,  1, 'UTF-8'
;
        }
        $oStr = '';
        if(!empty($iStr)) {
            for ($i = 0; $i < count($arr); $i++) {
                if ($i % 2 !== 0) continue;
                $oStr .= $arr[$i];
            }
        }
    }
?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
    <textarea name="iString" id="" cols="30" rows="10" value=""><?=$iStr?></textarea>
    <input type="submit" name="text" value="Расстрочить">
</form>
<?php if(!empty($oStr)) :?>
<p>Пришла строка: <?=$iStr?></p>
<p>А получилась: <?=$oStr?></p>
<?php endif ?> 
			
			
		 
			
			
			
				
				
				elk27ok_myrus
				Новичок
				
				Дата регистрации:
11.01.2019 08:49:54
				Сообщений: 5
			 
			В ответ на это дааавнее сообщение:
Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0
24.08.2017 23:05:45 ctalkep777
Всем привет! Не понял ДЗ в разделе Основы языка PHP > 7. Строковые операции >  5. * Откройте текстовый файл в «Блокноте» или любом другом редакторе с помощью скрипта на PHP.
+
29.08.2017 17:20:05 Tahmasib
Сначала тоже не понял ))).
Рыл в сторону
system — Выполнить внешнюю программу и отобразить вывод
http://php.net/manual/ru/function.system.php
file_get_contents
http://php.net/manual/ru/function.file-get-contents.php
и т.д. - всё не то.
А вот exec — Выполнить внешнюю программу
http://php.net/manual/ru/function.exec.php
- сработал
Выглядит так:
exec( '"c:\DATA\...\sublime_text.exe" index0.txt' );
В общем виде:
exec( '"путь_к_программе_редактору\запускаемый_файл_программы_редактора" файл_который_нужно_редактировать' );
ВАЖНО! exec( ОДИНАРНАЯ кавычка ДВОЙНАЯ КАВЫЧКА[пробела_после_кавычек_нет]путь_к_редактору[пробела_перед_кавычками_нет]ДВОЙНАЯ КАВЫЧКА редактируемый_файл ОДИНАРНАЯ кавычка );
			
			
		 
			
			
			
				
				
				elk27ok_myrus
				Новичок
				
				Дата регистрации:
11.01.2019 08:49:54
				Сообщений: 5
			 
			14.01.2019 19:31:28 ashivin
Без echo делал:
exec( '"путь_к_файлу_программы_редактора" редактируемый_файл.txt' )
;
//порядок кавычек важен: одинарная двойные*двойные * одинарная
			
			
		 
			
			
			
				
				
				geri14
				Новичок
				
				Дата регистрации:
24.02.2019 12:27:05
				Сообщений: 2
			 
			<?php
   function cmp($a, $b){
      if ($a == $b) return 0;
      return ($a < $b) ? -1 : 1;
   }
   $a = array(3, 2, 5, 6, 1);
   usort($a, "cmp"

;
   print_r($a);
?>
Подскажите откуда в этом случае функция получает переменные a и b
 
			
			
		 
			
			
			
				
				
				elk27ok_myrus
				Новичок
				
				Дата регистрации:
11.01.2019 08:49:54
				Сообщений: 5
			 
			Присоединяюсь к вопросу.
Прикольно. При любом "прямом" вызове 
cmp (как и задано) должно быть 2 определенных параметра.
 
К примеру (чтобы не вводить себя во искушение, заменим "внешнюю" $a на $r – без вариантов –совершенно разные переменные):
function cmp($a, $b){ 
if ($a == $b) return 0; 
return ($a < $b) ? -1 : 1; 
} 
 
$r = array(3, 2, 5, 6, 1); 
 
usort($r, "cmp"
; 
echo '<br> print_r($r)<br>';
print_r($r); 
 
$any = NULL;
$var = cmp($r, $any);
echo '<br>'. gettype($var);
echo '<br> print_r($var = cmp($r,$any))<br>';
print_r($var);Получаем:
print_r($r)
Array ( [0] => 1 [1]=> 2 [2] => 3 [3] => 5 [4] => 6 )
integer
print_r($var = cmp($r,$any))
1
 
По крайней мере, второй параметр в 
cmp может быть: целым, строкой, булевым, массивом, NULL - на результат не влияет! Если только
$any = true, то $var будет 0, в других случаях 1.
 
Здесь – типа ответ:
https://ideone.com/ubi7Aq
 
Я всё равно не вкуриваю:
"внутренние" для функции переменные"А и Б" (сидели на трубе) 
cmp в этой части:
usort($r, "cmp"
; 
как находит?
P.S. Скачок в сторону - к товарищам разработчикам:
вот в такой последовательности: "кавычки" "правая круглая скобка"
 "точка с запятой" - на вашем сайте не отображается "правая круглая скобка
"...
 
			
			
		 
			
			
			
				
				
				Chechelsk
				Новичок
				
				Дата регистрации:
27.10.2018 18:17:18
				Сообщений: 4
			 
			вопрос John Doe - Привет. Скажи как с тобой можно связаться (email, скайп, viber)?
или напиши мне пожалуйста chechelsk@mail.com
Спасибо.