[英]Get value of key when building array
我有一個看起來像這樣的數組:
$widgets = array(
'ka' => array(
'name' => 'Kool-Aid',
'active' => true,
'priority' => 10,
'primacy' => 30,
'controller' => 'KoolAid'.$widgets['ka']['settings']['ka_type'].'Widget',
'settings' => array(
'ka_type' => 'BBQ',
),
),
);
如果您注意到“控制器”行,我想將$widgets['ka']['settings']['ka_type']的值放入該值中。
無論如何,我可以引用我當前正在構建的數組中的鍵的值嗎?
你不能在它存在之前引用它。 為臨時變量賦值,然后在兩個地方都使用它。
$kaType = 'BBQ';
$widgets = array(
'ka' => array(
'name' => 'Kool-Aid',
'active' => true,
'priority' => 10,
'primacy' => 30,
'controller' => 'KoolAid'.$kaType.'Widget',
'settings' => array(
'ka_type' => $kaType,
),
),
);
不,但您可以在 controller之前分配設置 => ka_type => BBQ?
好吧,如果您不想先將值保存到變量中,那么您可以這樣做。
在 2 個步驟上保存數組。
$widgets = array(
'ka' => array(
'name' => 'Kool-Aid',
'active' => true,
'priority' => 10,
'primacy' => 30,
'controller' => '',
'settings' => array(
'ka_type' => 'BBQ',
),
),
);
$widgets['ka']['controller'] = $widgets['ka']['settings']['ka_type'].'Widget';
或者,如果不僅僅是 Ka,你可以像這樣循環它
$widgets = array(
'ka' => array(
'name' => 'Kool-Aid',
'active' => true,
'priority' => 10,
'primacy' => 30,
'controller' => '',
'settings' => array(
'ka_type' => 'BBQ',
),
),
);
Foreach($widgets as $name=>$val){
$widget[$wid]['controller'] = $val['settings']['ka_type'].'Widget';
}
希望能幫助到你
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.