+7 (987) 026-06-36
Написать в Telegram

Оставить заявку
stanislav_web

Вспомогательные функции на PHP для обработки данных

Вспомогательные функции на PHP для обработки данных Объясняю и показываю примеры решений разных задач с которыми сталкивался и сталкиваюсь в процессе работы

Вспомогательные функции на PHP для обработки данных

Объясняю и показываю примеры решений разных задач с которыми сталкивался и сталкиваюсь в процессе работы

📅 20 ноября 2023

👁‍🗨 394

🔥 0

Вспомогательные функции на PHP для обработки данных
<?php
if (!function_exists('consoleLog')) {
	function consoleLog($var) {
		echo '<script>console.log(' . json_encode($var, JSON_PARTIAL_OUTPUT_ON_ERROR) . ')</script>';
	}
}

consoleLog($array);
// Смотрим в консоль

if (!function_exists('phoneReplace')) {
	function phoneReplace($phone) {
		return str_replace([' (', ') ', '-'], '', $phone);
	}
}

$phone = '+7 (999) 999-99-99';
echo phoneReplace($phone);
// +79999999999

if (!function_exists('breakRow')) { // https://stanislav-web.com/blog/php/dobavit-teg-html-v-massiv-php-mezhdu-elementami/
	function breakRow($text, $number) {
		$string = $text;
		$stringExplode = explode(' ', $string);
		array_splice($stringExplode, $number, 0, '<br/>');
		$stringImplode = implode(' ', $stringExplode);
		return $stringImplode;
	}
}

$text = 'Lorem ipsum, dolor sit amet consectetur adipisicing, elit.';
echo breakRow($text, 3);
// Lorem ipsum, dolor<br/> sit amet consectetur adipisicing, elit.

// Склонение слов с помощью функции
if (!function_exists('declinePosition')) {
    function declinePosition($number, $one, $two, $five) {
        $lastDigit = $number % 10;
        $lastTwoDigits = $number % 100;

        if ($lastTwoDigits >= 11 && $lastTwoDigits <= 19) {
            return $five;
        } elseif ($lastDigit == 1) {
            return $one;
        } elseif ($lastDigit >= 2 && $lastDigit <= 4) {
            return $two;
        } else {
            return $five;
        }
    }
}

echo declinePosition($count, 'элемент', 'элемента', 'элементов');
// 1 элемент
// 2 элемента
// 5 элементов

// Склонение слов с помощью класса Declension из ядра D7
use Bitrix\Main\Grid\Declension;
$declension = new Declension('элемент', 'элемента', 'элементов');
echo $declension->get($count);

$domain = ((!empty($_SERVER['HTTPS'])) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'];
$canonical = $domain . $_SERVER['REQUEST_URI'];
$canonical = explode('?', $canonical);
$canonical = $canonical[0];
?>