typeCast() public static method

This method is often used to convert corect json respons arrays
public static typeCast ( array $array ) : array
$array array The array which should be type casted
return array An array with type casted values
Ejemplo n.º 1
0
 public function getData()
 {
     $cleandata = [];
     foreach ($this->_data as $key => $value) {
         $cleandata[] = ['value' => $key, 'label' => $value];
     }
     return ArrayHelper::typeCast($cleandata);
 }
Ejemplo n.º 2
0
 protected function getItems()
 {
     $data = [];
     foreach ($this->data as $value => $label) {
         $data[] = ['value' => $value, 'label' => $label];
     }
     return ['items' => ArrayHelper::typeCast($data)];
 }
Ejemplo n.º 3
0
 public function onAfterExpandFind($event)
 {
     $fieldValue = $event->sender->getAttribute($this->name);
     if (is_array($fieldValue)) {
         $event->sender->setAttribute($this->name, ArrayHelper::typeCast($fieldValue));
     } else {
         $event->sender->setAttribute($this->name, (double) $fieldValue);
     }
 }
Ejemplo n.º 4
0
 public function testTypeCast()
 {
     $array = [1 => 1, '2' => '2', "3" => "3", "4" => "string", 'sub' => [1 => 1, 2 => '2', 3 => '3', 4 => 'string']];
     $typecasted = ArrayHelper::typeCast($array);
     $this->assertSame(1, $typecasted[1]);
     $this->assertSame(2, $typecasted[2]);
     $this->assertSame(3, $typecasted[3]);
     $this->assertSame('string', $typecasted[4]);
     $this->assertSame(1, $typecasted['sub'][1]);
     $this->assertSame(2, $typecasted['sub'][2]);
     $this->assertSame(3, $typecasted['sub'][3]);
     $this->assertSame('string', $typecasted['sub'][4]);
 }
 /**
  * @inheritdoc
  */
 public function rules()
 {
     return [[['json_config_values', 'json_config_cfg_values'], function ($attribute, $params) {
         // if its not an array, the attribute is not dirty and has not to be serialized from input.
         if (is_array($this->{$attribute})) {
             $data = ArrayHelper::typeCast($this->{$attribute});
             foreach ($data as $key => $value) {
                 if ($value === null) {
                     unset($data[$key]);
                 }
             }
             if (isset($data['__e']) && count($data) >= 2) {
                 unset($data['__e']);
             }
             if (empty($data)) {
                 $data['__e'] = '__v';
             }
             $this->{$attribute} = Json::encode($data, JSON_FORCE_OBJECT);
         }
     }, 'skipOnEmpty' => false], [['block_id', 'nav_item_page_id', 'prev_id', 'is_dirty', 'create_user_id', 'update_user_id', 'timestamp_create', 'timestamp_update', 'sort_index', 'is_hidden'], 'integer'], [['placeholder_var'], 'required'], [['json_config_values', 'json_config_cfg_values'], 'string'], [['placeholder_var'], 'string', 'max' => 80]];
 }
Ejemplo n.º 6
0
 public function actionDataMenu()
 {
     return ['items' => ArrayHelper::typeCast((new Query())->select(['cms_nav.id', 'nav_container_id', 'parent_nav_id', 'is_hidden', 'is_offline', 'is_draft', 'is_home', 'cms_nav_item.title'])->from('cms_nav')->leftJoin('cms_nav_item', 'cms_nav.id=cms_nav_item.nav_id')->orderBy('cms_nav.sort_index ASC')->where(['cms_nav_item.lang_id' => Lang::getDefault()['id'], 'cms_nav.is_deleted' => 0, 'cms_nav.is_draft' => 0])->all()), 'drafts' => ArrayHelper::typeCast((new Query())->select(['cms_nav.id', 'nav_container_id', 'parent_nav_id', 'is_hidden', 'is_offline', 'is_draft', 'is_home', 'cms_nav_item.title'])->from('cms_nav')->leftJoin('cms_nav_item', 'cms_nav.id=cms_nav_item.nav_id')->orderBy('cms_nav.sort_index ASC')->where(['cms_nav_item.lang_id' => Lang::getDefault()['id'], 'cms_nav.is_deleted' => 0, 'cms_nav.is_draft' => 1])->all()), 'containers' => ArrayHelper::typeCast((new Query())->select(['id', 'name'])->from('cms_nav_container')->where(['is_deleted' => 0])->orderBy(['cms_nav_container.id' => 'ASC'])->all())];
 }
Ejemplo n.º 7
0
 public function actionDataLayouts()
 {
     return ArrayHelper::typeCast(Layout::find()->asArray()->all());
 }
Ejemplo n.º 8
0
 public function actionDataMenu()
 {
     return ['items' => ArrayHelper::typeCast(MenuHelper::getItems()), 'drafts' => ArrayHelper::typeCast(MenuHelper::getDrafts()), 'containers' => ArrayHelper::typeCast(MenuHelper::getContainers()), 'hiddenCats' => ArrayHelper::typeCast(Yii::$app->adminuser->identity->setting->get("togglecat", []))];
 }