2015-09-17 42 views
0

数组这似乎是超级简单,但对我来说它不是,我有以下方法:上按下任意一个对象包含相同的密钥

public function addRadioButtonTab($groupName, $radioButtonTab) 
{ 
    $radioButtonTab   = new RadioButtonTab($radioButtonTab); 
    $this->radioButtonTabs[][$groupName] = $groupName; 
    $this->radioButtonTabs[][] = $radioButtonTab; 
} 

我想给$radioButtonTab推入同一阵列包含关键:$groupName

现在我得到两个独立的阵列,一个与key=>value和一个与对象。

+1

你是不是指'$ this-> radioButtonTabs [$ groupName] [] = $ radioButtonTab;'? –

+0

@RocketHazmat否则创建与'$ groupName'相同的密钥,但是这次它的值是'$ radioButtonTab'对象。它需要:'[group_name => $ name,$ radioButtonTab]'not'[group_name => $ name],[group_name => $ radioButtonTab]' – TheWebs

回答

0

,而不是循环和做复杂的东西试试这个:

public function addRadioButtonTab($groupName, $radioButtonTab) 
{ 
    $radioButtonTab      = new RadioButtonTab($radioButtonTab); 
    $this->radioButtonTabs[][$groupName] = array($groupName, $radioButtonTab); 
} 
+0

'$ this-> radioButtonTabs [] [$ groupName]''真正有效的语法? –

+1

是的,这将创建一个关联数组,并将其推送到下一个空闲单元格中的一个简单数组。 (1){0} => array(1){ ['Rocket'] ='Hazmat'' ** ==> ** 'array = { [0] => > string(6)“Hazmat” } }' –

+0

Neat!我不知道你可以这样做:-) –

0

你应该让你想第一个值的数组,然后附加,为了$this->radioButtonTabs

public function addRadioButtonTab($groupName, $radioButtonTab) 
{ 
    $radioButtonTab = new RadioButtonTab($radioButtonTab); 

    // Just append arrays into the main array 
    $this->radioButtonTabs[] = array('group_name' => $groupName, $radioButtonTab); 

    // Or if you want your array to use `$groupName` as a key 
    $this->radioButtonTabs[$groupName] = array('group_name' => $groupName, $radioButtonTab) 
} 
相关问题