var inputArray = new[] { 1, 2, 3, 4, 5, 4, 3, 2, 1 };
var set = new Dictionary<int, int>();
foreach (var val in inputArray)
{
if (!set.ContainsKey(val))
{
set.Add(val, 1);
}
else
{
set[val] = set[val] + 1;
}
}
var result = new List<int>();
foreach (var val in set)
{
if (val.Value == 1)
{
result.Add(val.Key);
}
}
return result; //[5]
В принципе, смогу построить mvc-приложение.
но в последующем обязательно будет расширяться и усложняться.
function intervals($arr) {
$start = -1;
$end = -1;
$result = [];
foreach ($arr as $val) {
if ($start === -1) {
$start = $val;
$end = $val;
} elseif ($val === $end + 1) {
$end = $val;
} else {
$result[] = ['start' => $start, 'end' => $end];
$start = $val;
$end = $val;
}
}
if ($start !== -1) {
$result[] = ['start' => $start, 'end' => $end];
}
return $result;
}
print_r(intervals([0,1,2,3,6,7,8,9,12,13,14,15]));
// Array (
// [0] => Array (
// [start] => 0
// [end] => 3
// )
// [1] => Array (
// [start] => 6
// [end] => 9
// )
// [2] => Array (
// [start] => 12
// [end] => 15
// )
// )
<?php
function cutMenuTitle(array $elements, string $elementKey = 'item', int $limit = 15) {
return array_map(function($item) use ($elementKey, $limit) {
if (!isset($item[$elementKey])) {
return NULL;
}
if (mb_strlen($item[$elementKey]) > $limit) {
return mb_substr($item[$elementKey], 0, $limit - 3) . '…';
}
return $item[$elementKey];
}, $elements);
}
$menu = [
['item' => 'Заголовок1 длинный'],
['item' => 'Заголовок2'],
];
var_dump(cutMenuTitle($menu, 'item', 13));
// [
// "Заголовок1…",
// "Заголовок2",
// ]
if($error === null){}
предпочтительный (иногда он обязательный по стандартам), тк вариант if(!$error){}
— это авто-приведение к bool:!$any
можно использовать комфортно, когда вы (и программа) уверена, что работает либо с объектом, либо с bool <?php if(условие_есть_ли_видео): ?>
<a class="videofront" href="<?php the_permalink(); ?>"><video src="<?php the_field('video'); ?>" loop="on" autoplay="on" height="110" width="200"/></a>
<?php else: ?>
<a class="iconb-game" href="<?php the_permalink(); ?>" title="<?php _e('Play', 'arcadexls'); ?>"><span><?php _e('Play', 'arcadexls'); ?></span></a>
<?php endif; ?>
/**
* Class WebCategory
*
* @mixin Category
*/
class WebCategory
{
private $cat;
public function __construct(Category $cat)
{
$this->cat = $cat;
}
public function __call($name, $arguments)
{
return $this->cat->$name($arguments);
}
}
include "connection1.php";
$stmt = $connection->prepare("SELECT DISTINCT `word` FROM `words` WHERE `vocabulary` = ?");
$stmt->bind_param("s", $_SESSION['vocabulary_get']);
$stmt->execute();
$result = $stmt->get_result();
echo '<div>';
while ($row = mysqli_fetch_array($result))
{
echo ' <p>' . $row['word'] . '</p>';
}
echo '</div>';