$count = array_count_values($arr);
$arr = array_filter($arr, function($n) use($count) {
return $count[$n] < 2;
});
$count = array_count_values($arr);
$arr = array_unique(array_filter($arr, function($n) use($count) {
return $count[$n] % 2;
}));
$newData = array_map(function($item) {
return array_map(function($val) {
return [ 'text' => $val ];
}, array_values($item));
}, $data);
На основе этого значения надо менять результат внутри callback-функции передаваемой вторым параметром usort()
function array_sort(array &$arr, $key, $sort = 'asc') {
$sort = $sort === 'asc' ? 1 : -1;
usort($arr, function($a, $b) use($sort, $key) {
$a = $a[$key];
$b = $b[$key];
return $sort * ($a === $b ? 0 : $a > $b ? 1 : -1);
});
}
$result = array_map(function($n) {
return implode(', ', array_column($n, 'value'));
}, $arr);
$num = 3.1415;
$sum = array_sum(array_slice(str_split(explode('.', $num)[1]), 2, 2));
$num = 3.1415;
$idx = [ 1, 3, 5 ]; // индексы нужных цифр: 1 - это 4, 3 - это 5, 5 - этого уже нет, но ошибки не возникнет, будет использован 0
$digits = str_split(explode('.', $num)[1]);
$sum = array_reduce($idx, function($acc, $n) use($digits) {
return $acc + (isset($digits[$n]) ? $digits[$n] : 0);
}, 0);
$num
передавайте $num.'.'
. $groups = [];
foreach ($data as $item) {
$groups[$item['title']][] = $item;
}
echo implode('', array_map(function($group, $title) {
$items = implode('', array_map(function($item) {
$name = $item['name'];
return "<div>$name</div>";
}, $group));
return "<h4>$title:</h4>$items";
}, $groups, array_keys($groups)));
$link = mysqli_connect($host, $user, $pass, $db_name); ... $link = "https://td.com/topic-$zam2";
function getRootItem($id, $array) {
foreach ($array as $item) {
if ($item['id'] === $id) {
$parent = $item['parent'];
return $parent === 0 ? $item : getRootItem($parent, $array);
}
}
return null;
}