CdevUtils::GetArrString - Создаем массив из строки

CdevUtils::GetArrString($var, $sep, $key = NULL)

Метод из строки делает массив, есть возможность для массива определить ключ.

$var - 1 параметр, входящая строка, пример:

Значение 1 | Значение 2 | Значение 3

$sep - сепаратор (разделитель), именно по нему функция ищет и разделяет строку на элементы массива. Пример:| или ;

$key - не обязательный параметр, нужен для объединения массивов. Создает многомерный массив, ключом верхнего уровня является значение указанное в этом параметре.


namespace Cdev\Help;

use Bitrix\Main\Loader;

Loader::includeModule('iblock');

// use Bitrix\Main;
//CModule::IncludeModule("iblock");

IncludeModuleLangFile(__FILE__);
class CdevUtils
{


    static public function GetArrString($var, $sep, $key = NULL)
    {
        $arrVar = explode($sep, $var);
        $out = (isset($key)) ? $arrVar[$key] : $arrVar;
        return $out;
    }

    static public function PhoneNumber($phoneNumder)
    {
        $phone = preg_replace('![^0-9]+!', '', $phoneNumder);
        $phone = "+" . $phone;
        return $phone;
    }

    // static public function BreadCrumbs()
    // {
    //     $out = 0;
    //     $out = ($APPLICATION->GetDirProperty("breadcrumbs") == "Y") ? $out + 1 : $out;
    //     return $out;
    // }

    static public function SocialNetIcons($socName)
    {
        switch ($socName) {
            case 'vk':
                $out = '';
                break;
            case 'wa':
                $out = '';
                break;
            case 'tg':
                $out = '';
                break;
            case 'skype':
                $out = '';
                break;

            default:
                # code...
                break;
        }
        return $out;
    }

    static public function SocialNet($arSocial = [], $style = '', $curPageName = '')
    {


        if (isset($arSocial) && !empty($arSocial)) {
            switch ($style) {
                case '1':
                    # 
                    break;

                default:
                    $start = '';
                    break;
            }

            $out = $start;

            foreach ($arSocial as $key => $soc) {
                switch ($soc['1']) {
                    case 'vk':
                    case 'ok':
                    case 'tt':
                        $url = $soc['0'];
                        break;
                    case 'wa':
                        $url = 'https://wa.me/' . $soc['0'] . '?text=' . GetMessage("SEND_TEXT") . urlencode($curPageName);
                        break;
                    case 'tg':
                        $url = 'https://t.me/' . $soc['0'] . '?text=' . GetMessage("SEND_TEXT") . urlencode($curPageName);
                        break;
                    case 'skype':
                        $url = 'skype:' . $soc['0'] . '?chat';
                        break;

                    default:
                        # code...
                        break;
                }
                $out .= '';
            }
            $out .= $end;
            return $out;
        }
    }

    public static function setSettingsJsonDB($array, $jsonDbUrl)
    {

        if ($array) {
            $array = json_encode($array);
            file_put_contents($jsonDbUrl, $array);
        }
    }

    public static function getSettingsJsonDb($jsonDbUrl)
    {
        $arSettings = file_get_contents($jsonDbUrl);
        $arSettings = json_decode($arSettings, true);
        return $arSettings;
    }

    public static function multiMenuArray($arResult)
    {
        foreach ($arResult as $key => $item) {
            $arChild = [];
            if ($item['IS_PARENT'] == "1" && $item['DEPTH_LEVEL'] == "1") {
                foreach ($arResult as $key1 => $child) {
                    if ($child['DEPTH_LEVEL'] > "1" && $arResult[$key]['CHAIN']['0'] == $child["CHAIN"]['0']) {
                        $arChild[] = $child;
                    }
                }
                $arResult[$key]['CHILD'] = $arChild;
            }
        }
        $arResult1 = [];
        foreach ($arResult as $key => $value) {
            if ($value["DEPTH_LEVEL"] == "1") {
                $arResult1[$key] = $value;
            }
        }
        $arResult = $arResult1;

        return $arResult;
    }

    public static function SetArrReplace($IBLOCK_TYPE = "tagtext")
    {
        $arFilter["IBLOCK_TYPE"] = ($IBLOCK_TYPE) ? $IBLOCK_TYPE : false;
        $arFilter["ACTIVE"] = "Y";
        $arSelect = ["NAME", "CODE"];
        $res = \CIBlockElement::GetList(array(), $arFilter, false, array(), $arSelect);
        while ($ob = $res->GetNextElement()) {
            $arFields[] = $ob->GetFields();
        }
        $arrFields["IBLOCK_ID"] = $IBLOCK_ID;
        $arrFields["IBLOCK_TYPE"] = $IBLOCK_TYPE;
        $arrFields["ITEMS"] = $arFields;
        $arrFields["RES"] = $res;
        return $arrFields;
    }

    public static function explodeTrim($string)
    {
        foreach ($string as $key => $value) {
            $arPhone = explode('|', $value);
            foreach ($arPhone as $key1 => $ph) {
                $arPhone[$key1] = trim($ph);
            }
            $string[$key] = $arPhone;
        }
        return $string;
    }
}
Быстрый поиск на сайте
Документация