本文整理汇总了PHP中array_to_string函数的典型用法代码示例。如果您正苦于以下问题:PHP array_to_string函数的具体用法?PHP array_to_string怎么用?PHP array_to_string使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了array_to_string函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: get_company_kpis_values
public function get_company_kpis_values($term, $calc_type, $reportType, $period, $includePeer, $active_xaxes, $active_yaxes, $chat_type, $company, $companies, $kpis = array(), $segments = 'year')
{
$this->benchmark->mark('benchmark_model-get_company_kpis_values_benchmark_start');
$all_periods = $this->rperiods->list_records();
$quarters = array();
$years = array();
foreach ($all_periods as $k => $p) {
if (strpos($p->reporting_period, 'Q') === false) {
$years[] = $p->reporting_period;
} else {
$quarters[] = $p->reporting_period;
}
}
if ($segments == 'quarter') {
$periods = $quarters;
} else {
$periods = $years;
}
$entityID = sprintf("%06d", $company);
$termID = array_to_string($kpis);
$FYFQ = array_to_string($periods);
$companies = array_to_string($companies);
$result = $this->get_data($term, $calc_type, $reportType, $period, $includePeer, $active_xaxes, $active_yaxes, $chat_type, $entityID, $companies, $termID, $FYFQ, TRUE);
$this->benchmark->mark('benchmark_model-get_company_kpis_values_benchmark_end');
log_message('debug', 'get_company_kpis_values_benchmark: ' . $this->benchmark->elapsed_time('benchmark_model-get_company_kpis_values_benchmark_start', 'benchmark_model-get_company_kpis_values_benchmark_end'));
return $result;
}
示例2: doFinalize
protected function doFinalize($PAGE_CONTENT)
{
//Сначала выделим то, что не должно попасть под нормализацию
$this->addReplaces($PAGE_CONTENT);
/*
* Далее:
* 1. Заменяем контент на макросы
* 2. Проводим нормализацию
* 3. Заменяем обратно макросы на контент
*/
$hasReplaces = !empty($this->REPLACES);
$replaceMacroses = array_to_string($this->REPLACES);
if ($hasReplaces) {
foreach ($this->REPLACES as $content => $replace) {
$PAGE_CONTENT = str_replace($content, $replace, $PAGE_CONTENT);
}
}
if ($hasReplaces && $this->LOGGER->isEnabled()) {
$this->LOGGER->infoBox('PAGE WITH REPLACES ' . $replaceMacroses, $PAGE_CONTENT);
}
$PAGE_CONTENT = normalize_string($PAGE_CONTENT);
if ($hasReplaces && $this->LOGGER->isEnabled()) {
$this->LOGGER->infoBox('NORMALIZED PAGE WITH REPLACES ' . $replaceMacroses, $PAGE_CONTENT);
}
if ($hasReplaces) {
foreach ($this->REPLACES as $content => $replace) {
$PAGE_CONTENT = str_replace($replace, $content, $PAGE_CONTENT);
}
}
if ($hasReplaces && $this->LOGGER->isEnabled()) {
$this->LOGGER->infoBox('PAGE AFTER BACKREPLACE ' . $replaceMacroses, $PAGE_CONTENT);
}
return $PAGE_CONTENT;
}
示例3: executeQuery
/** @return ADORecordSet */
private static function executeQuery($query, $params = false, &$queryFinal = null, array &$paramsFinal = null)
{
$queryFinal = $query instanceof Query ? $query->build($params) : $query;
$queryFinal = normalize_string($queryFinal);
$paramsFinal = to_array($params);
$LOGGER = PsLogger::inst(__CLASS__);
$PROFILER = PsProfiler::inst(__CLASS__);
$PROFILER->start(strtolower($queryFinal));
try {
if ($LOGGER->isEnabled()) {
$LOGGER->info("[{$queryFinal}]" . ($paramsFinal ? ', PARAMS: ' . array_to_string($paramsFinal) : ''));
}
$rs = PsConnectionPool::conn()->execute($queryFinal, $paramsFinal);
if (is_object($rs)) {
$PROFILER->stop();
return $rs;
}
$error = PsConnectionPool::conn()->ErrorMsg();
$LOGGER->info('ERROR: {}', $error);
throw new DBException($error, DBException::ERROR_NOT_CLASSIFIED, $queryFinal, $paramsFinal);
} catch (Exception $ex) {
$PROFILER->stop(false);
if ($ex instanceof DBException) {
ExceptionHandler::dumpError($ex);
}
throw $ex;
}
}
示例4: export_csv
/**
*导出到CSV文件
*/
function export_csv($data = '', $filename = '')
{
$filename = empty($filename) ? date('YmdHis') . ".csv" : $filename . ".csv";
header("Content-type:text/csv");
header("Content-Disposition:attachment;filename=" . $filename);
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header('Expires:0');
header('Pragma:public');
echo array_to_string($data);
}
示例5: execute
/**
* Вызов выполнения метода. Используется из ajax.
*/
public static function execute($method, array $params)
{
check_condition(array_key_exists($method, self::getMethodsList()), "Method TestManager::{$method} cannot be called");
PsUtil::startUnlimitedMode();
PsLogger::inst('TestManager')->info("Method TestManager::{$method} called with params: " . array_to_string($params));
$s = Secundomer::startedInst();
call_user_func_array(array(TestManager::inst(), $method), $params);
$s->stop();
PsLogger::inst('TestManager')->info("Call done in {$s->getTotalTime()} seconds");
}
示例6: replace
/**
* Метод ищет в строке подстроки, удовлетворяющие шаблону и заменяет их по очереди на подстановки,
* переданные в виде массива. Поиск идёт по регулярному выражению!
*
* @param string $pattern - шаблон
* @param string $text - текст
* @param array $tokens - массив подстановок
* @return string
*/
public static function replace($pattern, $text, array $tokens)
{
self::$inst = self::$inst ? self::$inst : new PregReplaceCyclic();
self::$inst->tokens = check_condition($tokens, 'Не переданы элементы для замены');
if (is_assoc_array($tokens)) {
raise_error('Недопустим ассоциативный массив подстановок. Передан: ' . array_to_string($tokens, true));
}
self::$inst->idx = 0;
self::$inst->count = count($tokens);
return preg_replace_callback($pattern, array(self::$inst, '_replace'), $text);
}
示例7: array_to_string
function array_to_string($array)
{
$string = '';
foreach ($array as &$el) {
if (is_array($el)) {
$el = array_to_string($el);
}
$string .= $el;
}
return $string;
}
示例8: session_save_messages
function session_save_messages()
{
if (!isset($GLOBALS['wfpl_messages'])) {
return;
}
if (!is_array($GLOBALS['wfpl_messages'])) {
return;
}
init_session();
session_set('wfpl_messages', array_to_string($GLOBALS['wfpl_messages']));
}
示例9: export_csv
function export_csv()
{
$filename = date('YmdHis') . ".csv";
//文件名
header("Content-type:text/csv");
header("Content-Disposition:attachment;filename=" . $filename);
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header('Expires:0');
header('Pragma:public');
echo array_to_string(get_export_data());
}
示例10: visitor_info
function visitor_info($extra_arr)
{
$remote_ip = $_SERVER['REMOTE_ADDR'];
$get_params = "[ " . array_to_string($_GET) . " ]";
$remote_ua = $_SERVER['HTTP_USER_AGENT'];
$extra_str = "[ " . array_to_string($extra_arr) . " ]";
$time_str = date("Y-m-d H:i:s");
$page_url = $_SERVER['REQUEST_URI'];
$ret = "{$page_url}; \n" . "{$time_str}; \n" . "{$remote_ip}; \n" . "{$remote_ua}; \n" . "{$get_params}; \n" . "{$extra_str}; \n";
return $ret;
}
示例11: post
function post($url, $post = null, $opts = null)
{
//post 传string
if ($post) {
$post = array_to_string($post);
}
$this->curl = Curl::post($url, $post);
$options = array(CURLOPT_SSL_VERIFYPEER => false, CURLOPT_RETURNTRANSFER => true, CURLOPT_COOKIEFILE => $this->cookie, CURLOPT_COOKIEJAR => $this->cookie, CURLOPT_HTTPHEADER => $this->header, CURLOPT_CONNECTTIMEOUT => 100);
if ($opts) {
$options = array_merge($options, $opts);
}
$this->curl->option($options);
$r = $this->curl->call();
return $r->raw_body;
}
示例12: testArr
function testArr()
{
// $arr1 = array("1" => "111", "2" => "222");
// $arr2 = array("3" => "222", "4" => "333");
// $arr = $arr1 + $arr2;
// my_log($arr);
$arr3 = array("aaaaa", "b" => "nullsss", "ccc", array("1", "2"));
//$arr3 = "123";
my_log($arr3);
$str3 = array_to_string($arr3);
my_log($str3);
my_log(string_to_array($str3));
my_log("======");
my_log(explode("|", null));
}
示例13: updateUser
/**
* Основной метод, выполняющий обновление пользователя
*
* @param type $userId
* @param array $whatAssoc
* @param array $whereAssoc
* @return type
*/
private function updateUser($userId, array $whatAssoc, array $whereAssoc = array())
{
//Сразу валидируем код пользователя
$userId = AuthManager::validateUserId($userId);
//В апдейте можно использовать только ассоциативные параметры
Query::assertOnlyAssocParams($whatAssoc);
//Получим список обновляемых колонок
$columns = check_condition(array_keys($whatAssoc), 'Не переданы параметры обновления пользователя');
//Проверим на наличие запрещённых полей
$denyColumns = array_intersect(self::$UPDATE_DENY_FIELDS, $columns);
if ($denyColumns) {
raise_error('Cледующие параметры пользователя не могут быть обновлены: ' . array_to_string(array_values($denyColumns)));
}
//Проверим на наличие неизвестных полей
$unknownColumns = array_diff($columns, self::getColumns());
if ($unknownColumns) {
raise_error('Попытка обновить недопустимые параметры пользователя: ' . array_to_string(array_values($unknownColumns)));
}
//Загружаем текущее состояние, на всякий случай предварительно сбросив кеш
$OLD = $this->getUserDataById($this->reset($userId));
//Сбрасываем кеш и выполняем обновление
$whereAssoc[self::FIELD_ID] = $this->reset($userId);
$updated = $this->update(Query::update('users', $whatAssoc, $whereAssoc));
if ($updated <= 0) {
return;
//---
}
//Загружаем новое состояние
$NEW = $this->getUserDataById($this->reset($userId));
//Сравним и запишем аудит
$DIF = array();
foreach ($OLD as $column => $oldValue) {
if (in_array($column, self::$SKIP_AUDIT_ON_UPDATE_FIELDS)) {
continue;
//---
}
$newValue = $NEW[$column];
if (strcmp(trim($oldValue), trim($newValue)) != 0) {
$DIF[$column] = $newValue;
}
}
if (empty($DIF)) {
return;
//---
}
UserAudit::inst()->onUpdate($userId, $DIF);
}
示例14: getWindowContent
/**
* Основной метод, который строит содержимое диалогового окна.
*/
public final function getWindowContent()
{
//Логгер
$LOGGER = $this->LOGGER();
$CACHE = $this->cacheGroup();
$CACHE = $CACHE instanceof PSCacheInst ? $CACHE : null;
$CACHE_KEY = $this->foldedEntity->getUnique('DIALOG_WINDOW_CONTENT');
/*
* Проверим, можно ли работать с кешем и есть ли закешированная версия
*/
$LOGGER->info("Loading dialog content.");
if ($CACHE) {
$LOGGER->info("Can use cache, key: {$CACHE_KEY}.");
$CONTENT = $CACHE->getFromCache($CACHE_KEY);
if ($CONTENT) {
$LOGGER->info("Found in cache.");
return $CONTENT;
} else {
$LOGGER->info("Not found in cache.");
}
} else {
$LOGGER->info("Cannot use cache.");
}
$this->profilerStart(__FUNCTION__);
try {
//Получим параметры для шаблона smarty
$smartyParams = to_array($this->getWindowTplSmartyParams());
//Отлогируем параметры
if ($LOGGER->isEnabled()) {
$LOGGER->info("Tpl smarty params: {}", array_to_string($smartyParams, true));
}
//Произведём фетчинг шаблона
$CONTENT = $this->foldedEntity->fetchTpl($smartyParams);
//Останавливаем профилирование
$this->profilerStop();
//Сохраним в кеш
if ($CACHE && $CONTENT) {
$CACHE->saveToCache($CONTENT, $CACHE_KEY);
$LOGGER->info("Data saved to cache.");
}
//Вернём результат
return $CONTENT;
} catch (Exception $ex) {
$this->profilerStop(false);
throw $ex;
}
}
示例15: __construct
public function __construct($message, $code, $query, array $params, $previous = null)
{
$this->query = $query;
$this->params = $params;
$code = PsUtil::assertClassHasConstVithValue(__CLASS__, 'ERROR_', $code);
if ($code == self::ERROR_NOT_CLASSIFIED) {
/*
* Если ошибка не классифицирована, то мы попробуем её классифицировать
*/
if (starts_with($message, 'Duplicate entry ')) {
$code = self::ERROR_DUPLICATE_ENTRY;
}
}
$message = $message ? $message : 'Unknown db error';
$message = "{$message}. Query: [{$query}]" . ($params ? ', Params: ' . array_to_string($params) . '.' : '');
parent::__construct($message, $code, $previous);
}