Yii2 陣列助手類arrayHelper

2022-03-30 13:24:06 字數 1499 閱讀 6387

yii 陣列助手類提供了額外的靜態方法,讓你更高效的處理陣列。

a、獲取值(getvalue)

class

user

$array =[

'foo' =>[

'bar' => new user(),ddd]

]

獲取 name 的值

php 方法:

$value = isset($array['foo']['bar']->name) ? $array['foo']['name'] : null;
arrayhelper方法:

$value = arrayhelper::getvalue($array,'foo.bar.name');
從多維陣列或者物件陣列中獲取某列的值

$data =[

['id' => '123','data' => 'abc'], //

key 相當於物件的屬性名,value 相當於物件的屬性值

['id' => '456','data' => 'def'],]

arrayhelper方法:

$ids = arrayhelper::getcolumn($data,'id');
結果:['123','456'];可以使用 map 方法從乙個多維陣列或者物件陣列中取出資料,建立乙個對映表(鍵值對陣列),在 map 方法的引數列表中指定了預構建的對映表的鍵名和值。

$array =[

['id'=>'123','name'=>'aaa','email'=>'x'],['id'=>'456','name'=>'bbb','email'=>'y'],['id'=>'789','name'=>'ccc','email'=>'z'],]

//arrayhelper 方法:

$result = arrayhelper::map($array,'id','name');

/*結果:

[  '123' => 'aaa'

'456' => 'bbb'

'789' => 'ccc,]*/

$res = arrayhelper::map(user::find()->asarray()->all(),'id','username');

//user::find()=>asarray()->all(); 將 user 表的所有資料查詢出來,返回結果為乙個 二維陣列

Yii2 自定義類

最近開始研究yii2,發現很多問題,比如自定義類或模組。網上搜了一大堆複製文件的沒講實際應用,這次決定自己寫下來填坑。其實很簡單,yii2文件沒讀的請先到這裡 接下來按步驟走不拖拉 1.寫乙個自定義的類,內容隨意,可以放到任意目錄 憑喜好 比如 這裡假設放到 vendor ns extensions...

yii2的自動載入類檔案

一。檢視了一下yii2的載入原理 每個命名空間都有對應的路徑 然後檔名一定要與類名相同 通過yii classmap可設定。或別名也可識別。當我要用乙個不認識的類名時,會自動呼叫魔術方法yii類下的spl autoload register,然後執行autoload方法,在這個方法裡會把對應的類檔案...

Yii2框架增刪改查類

yii2框架增刪改查自定義類歸納 namespace common models use yii class db 返回一行 第一行 如果該查詢沒有結果則返回 false public static function get one sql,type 返回一列 第一列 如果該查詢沒有結果則返回空陣列...