当前位置: 首页>>代码示例>>PHP>>正文


PHP array_set函数代码示例

本文整理汇总了PHP中array_set函数的典型用法代码示例。如果您正苦于以下问题:PHP array_set函数的具体用法?PHP array_set怎么用?PHP array_set使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了array_set函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: save

 public function save($item, $value, $environment, $group, $namespace = null)
 {
     $path = DIR_APPLICATION . '/config/generated_overrides';
     if (!$this->files->exists($path)) {
         $this->files->makeDirectory($path, 0777);
     } elseif (!$this->files->isDirectory($path)) {
         $this->files->delete($path);
         $this->files->makeDirectory($path, 0777);
     }
     if ($namespace) {
         $path = "{$path}/{$namespace}";
         if (!$this->files->exists($path)) {
             $this->files->makeDirectory($path, 0777);
         } elseif (!$this->files->isDirectory($path)) {
             $this->files->delete($path);
             $this->files->makeDirectory($path, 0777);
         }
     }
     $file = "{$path}/{$group}.php";
     $current = array();
     if ($this->files->exists($file)) {
         $current = $this->files->getRequire($file);
     }
     array_set($current, $item, $value);
     $renderer = new Renderer($current);
     return $this->files->put($file, $renderer->render()) !== false;
 }
开发者ID:meixelsberger,项目名称:concrete5-5.7.0,代码行数:27,代码来源:FileSaver.php

示例2: __set

 /**
  * Magic Method allows for user input to set a value inside the options array.
  *
  * @param $option
  * @param $value
  *
  * @throws InvalidPrice
  * @throws InvalidQuantity
  * @throws InvalidTaxableValue
  */
 public function __set($option, $value)
 {
     switch ($option) {
         case CartItem::ITEM_QTY:
             if (!is_numeric($value) || $value < 0) {
                 throw new InvalidQuantity('The quantity must be a valid number');
             }
             break;
         case CartItem::ITEM_PRICE:
             if (!is_numeric($value)) {
                 throw new InvalidPrice('The price must be a valid number');
             }
             break;
         case CartItem::ITEM_TAX:
             if (!empty($value) && (!is_numeric($value) || $value > 1)) {
                 throw new InvalidTaxableValue('The tax must be a float less than 1');
             }
             break;
         case CartItem::ITEM_TAXABLE:
             if (!is_bool($value) && $value != 0 && $value != 1) {
                 throw new InvalidTaxableValue('The taxable option must be a boolean');
             }
             break;
     }
     array_set($this->options, $option, $value);
     if (is_callable([$this, 'generateHash'])) {
         $this->generateHash();
     }
 }
开发者ID:lukepolo,项目名称:laracart,代码行数:39,代码来源:CartOptionsMagicMethodsTrait.php

示例3: handle

 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $input = $request->all();
     array_set($input, 'match.id', $request->route('matchId'));
     $request->replace($input);
     return $next($request);
 }
开发者ID:bashmach,项目名称:ggf,代码行数:14,代码来源:BeforeMatchUpdateRequest.php

示例4: set

 public static function set($identifier, $value)
 {
     $key = $identifier;
     // Initiates everything
     static::load();
     array_set($key, static::$stack);
 }
开发者ID:queued,项目名称:mavis,代码行数:7,代码来源:Config.php

示例5: checkout

 public function checkout($attributes)
 {
     return DB::transaction(function ($attributes) use($attributes) {
         $shipping_address_same_as_billing_address = array_get($attributes, 'shipping_address_same_as_billing_address', false);
         if ($shipping_address_same_as_billing_address) {
             array_set($attributes, 'shipping_address_first_name', array_get($attributes, 'billing_address_first_name'));
             array_set($attributes, 'shipping_address_last_name', array_get($attributes, 'billing_address_last_name'));
             array_set($attributes, 'shipping_address_company', array_get($attributes, 'billing_address_company'));
             array_set($attributes, 'shipping_address_address_1', array_get($attributes, 'billing_address_address_1'));
             array_set($attributes, 'shipping_address_address_2', array_get($attributes, 'billing_address_address_2'));
             array_set($attributes, 'shipping_address_city', array_get($attributes, 'billing_address_city'));
             array_set($attributes, 'shipping_address_postal_code', array_get($attributes, 'billing_address_postal_code'));
             array_set($attributes, 'shipping_address_country_id', array_get($attributes, 'billing_address_country_id'));
             array_set($attributes, 'shipping_address_zone_id', array_get($attributes, 'billing_address_zone_id'));
         }
         $order = $this->create($attributes);
         //add line items
         $line_items = [];
         foreach (array_get($attributes, 'line_items', []) as $line_item) {
             $line_items[] = new LineItem($line_item);
         }
         $order->lineItems()->saveMany($line_items);
         //add totals
         $totals = [];
         foreach (array_get($attributes, 'totals', []) as $total) {
             $totals[] = new OrderTotal($total);
         }
         $order->totals()->saveMany($totals);
         return $order;
     });
 }
开发者ID:pda-code,项目名称:eshop-angular-laravel,代码行数:31,代码来源:OrderService.php

示例6: fixRequestForArrayFields

 protected function fixRequestForArrayFields(SS_HTTPRequest $request)
 {
     $postVars = $request->postVars();
     $fileVars = array_intersect_key($postVars, $_FILES);
     $fieldName = $this->owner->Name;
     foreach ($fileVars as $name => $attributes) {
         $nameParts = explode('][', trim(substr($fieldName, strlen($name) + 1), ']'));
         $newAttributes = [];
         $newValue = [];
         $values = null;
         foreach ($attributes as $attributeName => $attributeValues) {
             $values = array_get($attributeValues, implode('.', $nameParts));
             if (!$values || is_array($values) && empty($values)) {
                 break;
             }
             array_set($newAttributes, implode('.', $nameParts) . '.' . $attributeName, $values);
             $newValue[$attributeName] = $values;
         }
         if (!$values) {
             continue;
         }
         $postVars[$name] = $newAttributes;
         $postVars[$fieldName] = $newValue;
     }
     return new SS_HTTPRequest($request->httpMethod(), $request->getURL(true), $request->getVars(), $postVars, $request->getBody());
 }
开发者ID:micschk,项目名称:silverstripe-block_enhancements,代码行数:26,代码来源:UploadFieldExtension.php

示例7: set

 /**
  * Set a configuration item's value.
  *
  * <code>
  *      // Set the "session" configuration array
  *      Config::set('session', $array);
  *
  *      // Set a configuration option that belongs by a bundle
  *      Config::set('admin::names.first', 'Taylor');
  *
  *      // Set the "timezone" option in the "application" configuration file
  *      Config::set('application.timezone', 'UTC');
  * </code>
  *
  * @param  string  $key
  * @param  mixed   $value
  * @return void
  */
 public static function set($key, $value, $persistence = true)
 {
     list($bundle, $file, $item) = static::parse($key);
     static::load($bundle, $file);
     // If the item is null, it means the developer wishes to set the entire
     // configuration array to a given value, so we will pass the entire
     // array for the bundle into the array_set method.
     if (is_null($item)) {
         // @TODO handle saving of
         // nested array configuration
         array_set(static::$items[$bundle], $file, $value);
     } else {
         if ($persistence) {
             $setting = Model\Setting::where_slug($item)->first();
             if (!empty($setting)) {
                 array_set(static::$items[$bundle][$file], $item, $value);
                 $setting->value = $value;
                 $setting->save();
             } else {
                 \Log::error('"' . __CLASS__ . '": Trying to persist a non existent setting "' . $item . '".');
                 return null;
             }
         } else {
             array_set(static::$items[$bundle][$file], $item, $value);
         }
     }
 }
开发者ID:juaniiie,项目名称:mwi,代码行数:45,代码来源:config.php

示例8: create

 /**
  * Create's an application form.
  *
  * @param User $user
  * @param array $attributes
  * @return mixed
  */
 public function create(User $user, $attributes = array())
 {
     array_set($attributes, 'user_id', $user->id);
     $application = Application::create($attributes);
     Event::fire(new ApplicationSubmittedEvent($application));
     return $application;
 }
开发者ID:Teamelite,项目名称:Dashboard,代码行数:14,代码来源:ApplicationRepositoryContract.php

示例9: fixTrackingCode

 protected function fixTrackingCode()
 {
     $this->output(t('Updating tracking code.'));
     $service = \Core::make('site');
     $site = $service->getDefault();
     $config = $site->getConfigRepository();
     $proceed = true;
     $tracking = $config->get('seo.tracking');
     if (is_array($tracking) && isset($tracking['header']) && $tracking['header']) {
         $proceed = false;
     }
     if (is_array($tracking) && isset($tracking['footer']) && $tracking['footer']) {
         $proceed = false;
     }
     if ($proceed) {
         // we saved it in the wrong place on the 8.0 upgrade.
         $tracking = (array) \Config::get('concrete.seo.tracking', []);
         $trackingCode = array_get($tracking, 'code');
         if (!is_array($trackingCode)) {
             array_set($tracking, 'code', ['header' => '', 'footer' => '']);
             $trackingCode = (string) $trackingCode;
             switch (array_get($tracking, 'code_position')) {
                 case 'top':
                     array_set($tracking, 'code.header', $trackingCode);
                     break;
                 case 'bottom':
                 default:
                     array_set($tracking, 'code.footer', $trackingCode);
                     break;
             }
         }
         unset($tracking['code_position']);
         $config->save('seo.tracking', $tracking);
     }
 }
开发者ID:seebaermichi,项目名称:concrete5,代码行数:35,代码来源:Version20161203000000.php

示例10: getPreJson

 /**
  * @return Array
  */
 public function getPreJson()
 {
     $result = [];
     $group = '';
     $g = 0;
     foreach ($this->stack as $item) {
         switch ($item['style']) {
             case 'group':
                 $name = 'group_' . $item['name'];
                 $group = $group == '' ? $name : $group . '.' . $name;
                 array_set($result, $group . '._time', $item['time']);
                 break;
             case 'groupend':
                 $group = substr($group, 0, strrpos($group, '.'));
                 break;
             default:
                 $keyName = $group == '' ? '' : $group . '.';
                 $name = $item['name'] ? $item['name'] : 'nn_' . ++$g;
                 $keyName .= str_slug($item['style'] . '_' . $name, '_');
                 if (isset($item['value'])) {
                     array_set($result, $keyName, $item['value']);
                 }
                 break;
         }
     }
     return $result;
 }
开发者ID:lsrur,项目名称:inspector,代码行数:30,代码来源:MessageCollector.php

示例11: appendFields

 private function appendFields($form, $inputs, $values)
 {
     foreach ($inputs as $name => $arg) {
         preg_match("/^([^[]+)\\[(.+)\\]\$/", $name, $m);
         if (!empty($m)) {
             $seq = (int) $m[2];
             $value = array_get($values, "{$m['1']}.{$seq}");
             $name = $m[1] . '[]';
         } else {
             $value = array_get($values, $name);
         }
         $arg['name'] = $name;
         $type = array_get($arg, '_type');
         unset($arg['_type']);
         array_set($arg, 'value', $value);
         $uio = 'form' . ucfirst($type);
         $input = uio($uio, $arg);
         $field = $this->wrapInput($name, $input);
         $sectionName = array_get($arg, '_section');
         unset($arg['_section']);
         $style = array_get($this->arguments, 'type', 'panel');
         $section = $this->getSection($form, $sectionName, $style);
         $field->appendTo($section);
     }
 }
开发者ID:xpressengine,项目名称:xpressengine,代码行数:25,代码来源:Form.php

示例12: beforeOrAfterDotNotation

 protected static function beforeOrAfterDotNotation(&$array, $key, $value, $keyNeighbor = null, $after = false)
 {
     if (is_null($keyNeighbor)) {
         return $after ? static::set($array, $key, $value) : static::prepend($array, $value, $key);
     }
     $segments = explode('.', $keyNeighbor);
     $keyNeighborLast = array_pop($segments);
     if (count($segments) > 0) {
         $leveledKey = implode('.', $segments);
         $leveledArray = array_get($array, $leveledKey);
         if (!is_array($leveledArray)) {
             return $array;
         }
     } else {
         $leveledKey = null;
         $leveledArray =& $array;
     }
     $keyNeighborIndex = array_search($keyNeighborLast, array_keys($leveledArray));
     if ($keyNeighborIndex !== false) {
         if (isset($leveledArray[$key])) {
             unset($leveledArray[$key]);
         }
         $leveledArray = array_slice($leveledArray, 0, $keyNeighborIndex + ($after ? 1 : 0)) + [$key => $value] + array_slice($leveledArray, $keyNeighborIndex);
     } else {
         array_set($leveledArray, $key, $value);
     }
     return array_set($array, $leveledKey, $leveledArray);
 }
开发者ID:dukhanin,项目名称:laravel-support,代码行数:28,代码来源:Arr.php

示例13: fire

 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function fire()
 {
     $this->config = $this->getConfig();
     $opts = $this->option();
     if ($opts['forget']) {
         if (isset(array_dot($this->config)[$opts['forget']])) {
             $keys = explode('.', $opts['forget']);
             array_forget($this->config, $opts['forget']);
             if (empty($this->config[$keys[0]])) {
                 DB::table('config')->where('name', $keys[0])->delete();
             } else {
                 DB::table('config')->where('name', $keys[0])->update(['value' => serialize($this->config[$keys[0]])]);
             }
             $this->info($opts['forget'] . ' removed.');
         }
         return $this->showList();
     }
     if ($opts['key'] && $opts['value']) {
         $value = trim($opts['value']);
         if (in_array($value, ['true', 'false', '0', '1'])) {
             $value = filter_var($value, FILTER_VALIDATE_BOOLEAN);
         }
         $old_config = $this->config;
         array_set($this->config, $opts['key'], $value);
         $keys = explode('.', $opts['key']);
         if (isset($old_config[$keys[0]])) {
             //update
             DB::table('config')->where('name', $keys[0])->update(['value' => serialize($this->config[$keys[0]])]);
         } else {
             //insert
             DB::table('config')->insert(['name' => $keys[0], 'value' => serialize($this->config[$keys[0]])]);
         }
     }
     return $this->showList();
 }
开发者ID:vik0803,项目名称:ticketl4,代码行数:40,代码来源:ConfigCommand.php

示例14: send

 /**
  * @param null $connection
  * @return bool
  * @throws \Exception
  */
 public function send($connection = null)
 {
     $notifiers = Config::get('notifiers');
     if (!is_null($connection) && array_has($notifiers, $connection)) {
         $notifiers = array_only($notifiers, [$connection]);
     }
     $factory = new NotifyMeFactory();
     $successes = 0;
     foreach ($notifiers as $notifier) {
         if ($this->sender) {
             array_set($notifier, 'from', $this->sender);
         }
         $service = $factory->make($notifier);
         switch (array_get($notifier, 'driver')) {
             case 'hipchat':
                 $response = $service->notify(array_get($notifier, 'room'), $this->message);
                 break;
             default:
                 throw new \Exception("Driver not yet supported.");
         }
         if ($response->isSent()) {
             $successes++;
         } else {
             throw new \Exception($response->message());
         }
     }
     return $successes == count($notifiers);
 }
开发者ID:hyn,项目名称:magician,代码行数:33,代码来源:Message.php

示例15: array_add

 /**
  * Add an element to an array using "dot" notation if it doesn't exist.
  *
  * @param  array   $array
  * @param  string  $key
  * @param  mixed   $value
  * @return array
  */
 function array_add($array, $key, $value)
 {
     if (is_null(array_get($array, $key))) {
         array_set($array, $key, $value);
     }
     return $array;
 }
开发者ID:yfix,项目名称:yf,代码行数:15,代码来源:yf_array_funcs.php


注:本文中的array_set函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。