Skip to content

Instantly share code, notes, and snippets.

@Ambalus
Last active March 18, 2017 19:05
Show Gist options
  • Select an option

  • Save Ambalus/31ffb96c19afc9f77612562016027480 to your computer and use it in GitHub Desktop.

Select an option

Save Ambalus/31ffb96c19afc9f77612562016027480 to your computer and use it in GitHub Desktop.
<?php
$result = array();
//Создаем еще один массив с исходными данными
$pak = array();
$pak['Dima'] = 19;
$pak['Oleg'] = 32;
$pak['Maxim'] = 21;
$pak['Egor'] = 43;
//Прогоняем массив через цикл. Разделяем ключ и значение.
foreach ($pak as $user => $age) {
$result[$user] = search($age, $user);
}
print "\n";
print_r($result);
/**
example output:
Dima: - title2 title3
Oleg: - title2 -
Maxim:
Egor: - - title3
Array
(
[Dima] => Array
(
[0] => Array
(
[event] => 1
[title] => title2
)
[1] => Array
(
[event] => 2
[title] => title3
)
)
[Oleg] => Array
(
[0] => Array
(
[event] => 1
[title] => title2
)
)
[Maxim] => Array
(
)
[Egor] => Array
(
[0] => Array
(
[event] => 2
[title] => title3
)
)
)
**/
//Основная функция
function search($age, $name) {
//В примере используется случайное число
$random = mt_rand(1, 100);
//Если рандомное число больше цифрового значения из массива $pak...
if ($age < $random) {
echo "\n" . $name . ": ";
//То запускаем вторую функцию и передаем ей ключ массива
return check($name);
} else {
echo "\n" . $name . ": ";
return array();
}
}
//Вторая функция.
function check($worker) {
//Существует многомерный массив.
$events = array(
array(
'title' => 'title1',
'data' => array(
'Dima' => 2,
'Oleg' => 7,
'Maxim' => 35,
'Egor' => 1,
),
),
array(
'title' => 'title2',
'data' => array(
'Dima' => 54,
'Oleg' => 65,
'Maxim' => 35,
'Egor' => 45,
)
),
array(
'title' => 'title3',
'data' => array(
'Dima' => 54,
'Oleg' => 12,
'Maxim' => 6,
'Egor' => 87,
)
)
);
//Перебираем массив
$array = array();
foreach ($events as $k => $row) {
$rand = mt_rand(1, 100);
if (isset($row['data'][$worker])) {
$val = $row['data'][$worker];
if ($val > $rand) {
echo $row['title'] . ' ';
$array[] = ['event' => $k, 'title' => $row['title']];
} else {
echo " - ";
}
}
}
return $array;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment