本文整理汇总了PHP中array_get_value函数的典型用法代码示例。如果您正苦于以下问题:PHP array_get_value函数的具体用法?PHP array_get_value怎么用?PHP array_get_value使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了array_get_value函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: load
/**
* Загружает глобальные настройки из файла и кеширует их в массиве GLOBALS.
* Данный метод вызывается ТОЛЬКО при создании экземпляра класса.
*/
private function load()
{
check_condition(!is_array($this->GLOBALS), 'Недопустима повторная загрузка глобальных настроек');
$this->GLOBALS = array();
$this->FileMtimeUpdate();
$comment = array();
foreach ($this->DI->getFileLines() as $line) {
$line = trim($line);
if (!$line || starts_with($line, '/*') || ends_with($line, '*/')) {
continue;
}
if (starts_with($line, '*')) {
$line = trim(first_char_remove($line));
if ($line) {
$comment[] = $line;
}
continue;
}
if (starts_with($line, 'define')) {
$name = trim(array_get_value(1, explode("'", $line, 3)));
check_condition($name && defined($name), "Ошибка разбора файла глобальных настроек: свойство [{$name}] не определено.");
$this->GLOBALS[$name] = new PsGlobalProp($name, implode(' ', $comment));
$comment = array();
continue;
}
}
}
示例2: appendLibItemsToPageContent
/**
* Функция производит финализацию страницы, показываемой пользователю, добавляя к ней элемент с содержащимися в нём ссылками.
*/
public function appendLibItemsToPageContent($CONTENT)
{
$matches = array();
$data = PsConstJs::BUBBLE_LOADER_FOLDING_DATA;
$pattern = "/data-{$data}=\"(.+?)\"/si";
preg_match_all($pattern, $CONTENT, $matches);
$matches = array_unique(array_get_value(1, $matches, array()));
$items = array();
foreach ($matches as $unique) {
$entity = Handlers::getInstance()->getFoldedEntityByUnique($unique, false);
if ($entity && $entity->getFolding()->isItByType(LibResources::LIB_FOLDING_TYPE)) {
$items[$entity->getUnique()] = $entity->getFolding()->getBubble($entity->getIdent());
}
}
$has = count($items) > 0;
if ($this->LOGGER->isEnabled()) {
$this->LOGGER->info();
$this->LOGGER->info('Библиотечные элементы, добавленные на страницу:');
if ($has) {
foreach ($items as $unique => $lib) {
$this->LOGGER->info("\t{$unique}");
}
} else {
$this->LOGGER->info("\t-- Нет --");
}
}
return $CONTENT . ($has ? PsHtml::div(array('id' => PsConstJs::BUBBLE_LOADER_FOLDING_STORE_ID), implode('', $items)) : '');
}
示例3: getClassFirstCall
/**
* Метод возвращает информацию о первом вызове класса в стеке.
*/
public static function getClassFirstCall($class)
{
check_condition($class, 'Не передан класс для поиска в вызове');
check_condition($class != __CLASS__, 'Класс ' . __CLASS__ . ' не может быть использован для поиска вызова');
$found = null;
foreach (debug_backtrace(0) as $item) {
$curClass = array_get_value('class', $item);
if ($curClass == __CLASS__) {
if (is_array($found)) {
break;
//--
}
continue;
//---
}
if ($curClass == $class) {
$found = $item;
continue;
//---
}
if (is_array($found)) {
break;
//--
}
}
return check_condition($found, "Класс {$class} не вызывался");
}
示例4: init
/**
* Метод вызывается для инициализации окружения:
* 1. Директория ресурсов окружения будет подключена в Autoload
* 2. Файл, включающий окружение, будет выполнен
*/
public static function init()
{
if (self::$inited) {
return;
//---
}
self::$inited = true;
//---
/*
* Проверим, нужно ли подключать окружение
*/
if (self::isSkipInclude()) {
return;
//---
}
$env = self::env();
if (!$env) {
return;
//---
}
$envDir = array_get_value($env, ConfigIni::environments());
if (!$envDir) {
return PsUtil::raise('Environment [{}] not found', $env);
}
if (!is_dir($envDir)) {
return PsUtil::raise('Environment dir for [{}] not found', $env);
}
$envSrcDir = next_level_dir($envDir, DirManager::DIR_SRC);
$envIncFile = file_path($envDir, $env, PsConst::EXT_PHP);
if (!is_file($envIncFile)) {
return PsUtil::raise('Environment include file for [{}] not found', $env);
}
$LOGGER = PsLogger::inst(__CLASS__);
if ($LOGGER->isEnabled()) {
$LOGGER->info('Including \'{}\' environment for context \'{}\'', $env, PsContext::describe());
$LOGGER->info('Env dir: {}', $envDir);
$LOGGER->info('Src dir: {}', $envSrcDir);
$LOGGER->info('Inc file: {}', $envIncFile);
}
//Проинициализировано окружение
self::$included = true;
//Регистрируем директорию с классами, специфичными только для данного окружения
Autoload::inst()->registerBaseDir($envSrcDir, false);
//Выполним необходимое действие
$PROFILER = PsProfiler::inst(__CLASS__);
try {
$LOGGER->info('{');
$PROFILER->start($env);
self::initImpl($LOGGER, $envIncFile);
$secundomer = $PROFILER->stop();
$LOGGER->info('}');
$LOGGER->info('Inc file included for {} sec', $secundomer->getTime());
} catch (Exception $ex) {
$PROFILER->stop(false);
$LOGGER->info('Inc file execution error: [{}]', $ex->getMessage());
throw $ex;
//---
}
}
示例5: smarty_block_box
function smarty_block_box($params, $content, Smarty_Internal_Template &$smarty)
{
if ($content) {
$params['class'] = to_array(array_get_value('class', $params));
$params['class'][] = 'psbox';
return PsHtml::div($params, PsHtml::div(array('class' => 'psboxctt'), $content));
}
}
示例6: categorization
function categorization($id = null)
{
header('Content-Type: application/json');
$cat = $this->categorization_model->get_categorization($id);
$cat_settings = array_get_value((array) $cat, 'cat_settings');
$cat_settings = unserialize($cat_settings);
$cat_settings = $cat_settings && is_json($cat_settings) ? $cat_settings : json_encode(array('url' => base_url('data/category-builder-template.js')), JSON_UNESCAPED_SLASHES);
echo $cat_settings;
}
示例7: smarty_block_text
function smarty_block_text($params, $content, Smarty_Internal_Template &$smarty)
{
if (!$content) {
return;
}
$content = nl2br(trim($content));
$params['class'] = array_get_value('class', $params, '') . ' text';
return PsHtml::div($params, $content);
}
示例8: lineGroups
/**
* Массив - строка к кол-ву повторений
*/
public function lineGroups()
{
$groups = array();
foreach ($this->lines as $line) {
$groups[$line] = array_get_value($line, $groups, 0);
++$groups[$line];
}
return $groups;
}
示例9: getColumns
/**
* Метод возвращает столбцы таблицы
*/
public function getColumns($table)
{
if (!$this->getCache()->has(self::CACHE_COLUMNS)) {
$this->getCache()->set(self::CACHE_COLUMNS, $this->getObjects("\nselect LOWER(c.TABLE_NAME) as TABLE_NAME,\n LOWER(c.COLUMN_NAME) as COLUMN_NAME,\n \n c.IS_NULLABLE,\n c.DATA_TYPE,\n c.CHARACTER_MAXIMUM_LENGTH,\n LOWER(c.COLUMN_KEY) as COLUMN_KEY,\n c.EXTRA,\n c.COLUMN_COMMENT,\n c.COLUMN_DEFAULT,\n \n if(upk.CONSTRAINT_TYPE is null, 0, 1) as IS_PK,\n \n if(ufk.CONSTRAINT_TYPE is null, 0, 1) as IS_FK,\n LOWER(ufk.REFERENCED_TABLE_NAME) as REFERENCED_TABLE_NAME,\n LOWER(ufk.REFERENCED_COLUMN_NAME) as REFERENCED_COLUMN_NAME\n\n from information_schema.columns c\n\n left join (select cpk.CONSTRAINT_TYPE,\n upk.TABLE_SCHEMA,\n upk.TABLE_NAME,\n upk.COLUMN_NAME,\n upk.TABLE_CATALOG\n from information_schema.KEY_COLUMN_USAGE upk,\n information_schema.TABLE_CONSTRAINTS cpk\n where upk.REFERENCED_TABLE_SCHEMA is null\n and upk.REFERENCED_TABLE_NAME is null\n and upk.REFERENCED_COLUMN_NAME is null\n and upk.TABLE_SCHEMA = cpk.TABLE_SCHEMA\n and upk.TABLE_NAME = cpk.TABLE_NAME\n and upk.CONSTRAINT_CATALOG = cpk.CONSTRAINT_CATALOG\n and upk.CONSTRAINT_NAME = cpk.CONSTRAINT_NAME\n and upk.CONSTRAINT_SCHEMA = cpk.CONSTRAINT_SCHEMA\n and cpk.CONSTRAINT_TYPE is not null\n and cpk.CONSTRAINT_TYPE = 'PRIMARY KEY') as upk\n on c.TABLE_SCHEMA = upk.TABLE_SCHEMA\n and c.TABLE_NAME = upk.TABLE_NAME\n and c.COLUMN_NAME = upk.COLUMN_NAME\n and c.TABLE_CATALOG = upk.TABLE_CATALOG\n\n left join (select LOWER(upk.REFERENCED_TABLE_NAME) as REFERENCED_TABLE_NAME,\n LOWER(upk.REFERENCED_COLUMN_NAME) as REFERENCED_COLUMN_NAME,\n \n cpk.CONSTRAINT_TYPE,\n upk.TABLE_SCHEMA,\n upk.TABLE_NAME,\n upk.COLUMN_NAME,\n upk.TABLE_CATALOG,\n upk.REFERENCED_TABLE_SCHEMA\n from information_schema.KEY_COLUMN_USAGE upk,\n information_schema.TABLE_CONSTRAINTS cpk\n where upk.REFERENCED_TABLE_SCHEMA is not null\n and upk.REFERENCED_TABLE_NAME is not null\n and upk.REFERENCED_COLUMN_NAME is not null\n and upk.TABLE_SCHEMA = cpk.TABLE_SCHEMA\n and upk.TABLE_NAME = cpk.TABLE_NAME\n and upk.CONSTRAINT_CATALOG = cpk.CONSTRAINT_CATALOG\n and upk.CONSTRAINT_NAME = cpk.CONSTRAINT_NAME\n and upk.CONSTRAINT_SCHEMA = cpk.CONSTRAINT_SCHEMA\n and cpk.CONSTRAINT_TYPE is not null\n and cpk.CONSTRAINT_TYPE = 'FOREIGN KEY') as ufk\n on c.TABLE_SCHEMA = ufk.TABLE_SCHEMA\n and c.TABLE_SCHEMA = ufk.REFERENCED_TABLE_SCHEMA\n and c.TABLE_NAME = ufk.TABLE_NAME\n and c.COLUMN_NAME = ufk.COLUMN_NAME\n and c.TABLE_CATALOG = ufk.TABLE_CATALOG\n\n where c.table_schema = DATABASE()\n /*and c.table_name = ?*/\n\n order by c.TABLE_NAME, c.ORDINAL_POSITION", null, PsTableColumn::getClass(), null, null, function (PsTableColumn $col, &$result, $row) {
$result[$col->getTableName()][$col->getName()] = $col;
}));
}
return array_get_value(lowertrim($table), $this->getCache()->get(self::CACHE_COLUMNS), array());
}
示例10: getInflection
/**
* Метод возвращает склонение слова в заданном падеже
*
* @param string $word - слово
* @param string $type - требуемый падеж
* @return type
*/
public function getInflection($word, $type = self::TYPE_ORIG)
{
if ($type == self::TYPE_ORIG) {
return $word;
//Сразу вернём оригинальное значение
}
PsUtil::assertClassHasConstVithValue(__CLASS__, 'TYPE_', $type);
return array_get_value($type, $this->getInflections($word));
}
示例11: getTable
/** @return PsTable */
public function getTable($table)
{
if ($table instanceof FoldedResources) {
$table = $table->getTableName();
//Если для фолдинга нет таблицы - возвращаем null
return array_get_value($table, $this->getTables());
}
return check_condition(array_get_value($table, $this->getTables()), "Таблица [{$table}] не существует.");
}
示例12: getAvatarImg
/**
* Метод возвращает <img /> элемент, готовый для вставки на страницу
*/
public static function getAvatarImg(PsUser $user = null, $dim = false, array $params = array())
{
$params['src'] = self::getAvatarDi($user, $dim);
$params['alt'] = $user ? $user->getName() : 'Аноним';
$params['data'] = $user ? array('uid' => $user->getId()) : null;
$params['class'] = to_array(array_get_value('class', $params));
$params['class'][] = array('avatar', $user ? 'user' : null);
return PsHtml::img($params);
}
示例13: spanImpl
private function spanImpl($itemName, array $attrs = array(), $class = null)
{
$attrs['class'] = to_array(array_get_value('class', $attrs));
$attrs['class'][] = $class;
$attrs['class'][] = 'sprite';
$attrs['class'][] = 'sprite-' . $this->name;
$attrs['class'][] = 'sprite-' . $this->name . '-' . $itemName;
return PsHtml::span($attrs);
}
示例14: sign
/**
* Идентификатор акции - хэш от типа акции и её параметров.
* Две акции с одним типом но разными кодами считаются разными.
*
* @param array $params - параметры акции
*/
private function sign(array $params)
{
$type = self::getType();
$sign['_STOCK_CLASS_TYPE_'] = $type;
foreach (PsUtil::getClassConsts($this, 'DATA_') as $param) {
$sign[$param] = check_condition(array_get_value($param, $params), "Для акции {$type} не указан обязательный параметр [{$param}].");
}
return simple_hash($sign);
}
示例15: saveImg
private function saveImg($gallery, array $img, $order)
{
check_condition($gallery, 'Не задано название галереи');
$file = check_condition(array_get_value('file', $img), 'Не задан путь к картинке');
$this->update('
INSERT INTO ps_gallery_images
(v_dir, v_file, b_show, b_web, v_name, v_descr, n_order)
VALUES
(?, ?, ?, ?, ?, ?, ?)', array($gallery, $file, !isEmptyInArray('show', $img), !isEmptyInArray('web', $img), $img['name'], $img['descr'], $order));
}