<MyRusakov.ru />

Разработчик игр на Unreal Engine

Разработчик игр на Unreal Engine

Этот комплект с нуля всего за 7 месяцев сделает Вас Unreal-разработчиком. И при этом учиться достаточно 1 час в день.

Начнёте Вы с основ программирования, постепенно перейдя к C++. Затем очень подробно изучите Unreal Engine, и после научитесь программировать на C++ в Unreal Engine. В конце создадите крупный проект на C++ в Unreal Engine для своего портфолио.

Комплект содержит:

- 416 видеоуроков

- 95 часов видео

- 1024 задания для закрепления материала из уроков

- 3 финальных тестирования

- 4 сертификата

- 12 Бонусных курсов

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Форум сайта MyRusakov.ru

Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0
14.01.2019 19:31:28 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #1
John Doe

John Doe

Продвинутый

Продвинутый

Дата регистрации:
14.01.2019 19:23:31

Сообщений: 42

ashifin
По заданию к 7 уроку по основам php/ "Откройте текстовый файл в «Блокноте» или любом другом редакторе с помощью скрипта на PHP."
Тоже как то не понял вопрос, нашел решение через массивы, но как бы ведь это 7 урок только!))
Возможно нужно покапать справочник и найти функцию.


Нашел в справочнике в расширениях для работы с системой..
В уроке как раз про это говорилось на примере `date`.

В общем, моё решение:
- предварительно создайте файл txt рядом файлом скрипта, чтобы с путём не заморачиваться.
- далее напишите следующий код:
$file = 'myfile.txt';
echo exec($file);
Профиль
16.01.2019 23:36:11 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #2
John Doe

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;
Профиль
20.01.2019 05:39:54 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #3
John Doe

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,
Профиль
21.01.2019 00:49:47 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #4
John Doe

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, "; 
Профиль
22.01.2019 01:15:36 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #5
John Doe

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 ?>
Профиль
24.01.2019 10:48:02 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #6
elk27ok_myrus

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( ОДИНАРНАЯ кавычка ДВОЙНАЯ КАВЫЧКА[пробела_после_кавычек_нет]путь_к_редактору[пробела_перед_кавычками_нет]ДВОЙНАЯ КАВЫЧКА редактируемый_файл ОДИНАРНАЯ кавычка );
Профиль
24.01.2019 11:01:45 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #7
elk27ok_myrus

elk27ok_myrus

Новичок

Новичок

Дата регистрации:
11.01.2019 08:49:54

Сообщений: 5

14.01.2019 19:31:28 ashivin
Без echo делал:
exec( '"путь_к_файлу_программы_редактора" редактируемый_файл.txt' )
;
//порядок кавычек важен: одинарная двойные*двойные * одинарная
Профиль
24.02.2019 12:33:28 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #8
geri14

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
Профиль
25.02.2019 08:56:11 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #9
elk27ok_myrus

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. Скачок в сторону - к товарищам разработчикам:
вот в такой последовательности: "кавычки" "правая круглая скобка" "точка с запятой" - на вашем сайте не отображается "правая круглая скобка"...
Профиль
25.02.2019 14:09:30 Обсуждение по решению задач курса PHP и MySQL с Нуля до Гуру 2.0 Сообщение #10
Chechelsk

Chechelsk

Новичок

Новичок

Дата регистрации:
27.10.2018 18:17:18

Сообщений: 4

вопрос John Doe - Привет. Скажи как с тобой можно связаться (email, скайп, viber)?
или напиши мне пожалуйста [email protected]
Спасибо.
Профиль