rusphp

php Конкатенация путей к файлу/папке

Установив пакет, используйте Path::concat() выполнит конкатенацию, добавив/убрав если нужно слеши:

use ItForFree\rusphp\File\Path;

$fullPath = Path::concat(
      ['file/my/', '/folder/to/folder', 'path/to/my.png'],
        '/'
);

Цитата из теста:

Алгоритм построения html таблицы для вложенных сущностей с объединением ячеек(colspan, rowspan)

Очень интересный вопрос -- надеюсь скоро решим для однократной вложености. Сходу в интернете найти не получается.

Основная идея -- разбить процесс на два шага

Процесс предлагается разбить на две части:

[!] rusphp Свободная библиотека универсальных функций на PHP (ООП) -- примеры кода

Установка:

composer require it-for-free/rusphp

Исходный код: https://github.com/it-for-free/rusphp

О библиотеке

Смысл данного набора классов -- создание новых слабосвязанных функций, которые теоретически можно повторно использовать (общего назначения).

Использование в проекте

Например (автозагрузка):

php Получить все элементы массива, которые содержат строку (или одну из массива строк) -- пример функции

Из открытой библиотеки rusphp:

    /**
     * Получит все элементы массива, которые содержат  строку или несколько строк (подстроки)
     * 
     * @param string $arr     -- список строк, в которых искать
     * @param array $startStr -- список подстрок (которые искать)
     * @return array
     */
    public static function getElementsWith($arr, $startStrs, $trim = false)
    {
        $result = [];
        
        foreach ($arr as $val)
        {
            foreach ($startStrs as $startStr) {
                //log::pre($arr);

php Сортировка массива по указанному полю (по алфавиту) -- пример функции

Пример кода из общедоступной библиотеки rusphp (фрагмент кода -- библиотеку ищите на гихабе):

/**
 * Отсортирует массив (многомерный - массив массивов) по указанному полю
 * 
 * @param type $arr
 * @param type $keyName
 */
public static function sortByField(&$arr, $keyName) {
	
	self::$sortByFieldName = $keyName;
	usort($arr, "self::compareTwoFileds"); /** @see self::compareTwoFileds() */
}

/**
 *
 * @var string имя ключа поля, по которому производить сравнение подмасиивово (строк) массива
 */
private static  $sortByFieldName = ''; 

/**

php rusphp Сравнение строк по алфавиту php -- пример функции

    /**
     * Сравнит две строки относительно алфавита
     *  
     * @param string $str1
     * @param string $str2
     * @return int          1 если первая "больше", -1 если меньше, 0 если равны
     */
    function compareAsInAlphbet($str1, $str2)
    {
        return strnatcasecmp($str1, $str2);
    }

php Проверить начинается ли одна строка с другой -- является ли подстрока началом строки -- пример кода функции

По аналогии с проверкой содержания одной строки в другой:

/**
 * Проверит, что первая строка начинается со второй
 * 
 * @param string $str      основная строка
 * @param string $substr   та, которая может содержаться внутри основной
 */
function isStart($str, $substr)
{
	$result = strpos($str, $substr);
	if ($result === 0) { // если содержится, начиная с первого символа
	  return true;
	} else {
	  return false; 
	}
}

Pages

Subscribe to RSS - rusphp