从Foreach Loop PHP创建关联数组

tma*_*314 21 php foreach

我有这个foreach循环:

foreach($aMbs as $aMemb){
    $ignoreArray = array(1,3);
    if (!in_array($aMemb['ID'],$ignoreArray)){ 
        $aMemberships[] = array($aMemb['ID'] => $aMemb['Name']);
    }
}
Run Code Online (Sandbox Code Playgroud)

这会打印出正确的字段,但它们是数组内的数组.我需要foreach循环输出一个像这样的简单数组:

$aMemberships = array('1' => 'Standard', '2' => 'Silver');
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

GWW*_*GWW 44

您需要更改$ aMemberships分配

$aMemberships[] = $aMemb['Name']; 
Run Code Online (Sandbox Code Playgroud)

如果你想要一个数组

$aMemberships[$aMemb['ID']] = $aMemb['Name'];
Run Code Online (Sandbox Code Playgroud)

如果你想要一张地图.

你正在做的是将数组附加到数组.


Shi*_*jRH 18

foreach语句中的关联数组:

foreach($nodeids as $field => $value) {

  $field_data[$field]=$value;

}
Run Code Online (Sandbox Code Playgroud)

输出:

Array(
$field => $value,
$field => $value
...
);
Run Code Online (Sandbox Code Playgroud)

在CodeIgniter中插入:

$res=$this->db->insert($bundle_table,$field_data);
Run Code Online (Sandbox Code Playgroud)


Tim*_*ier 9

代替

$aMemberships[] = array($aMemb['ID'] => $aMemb['Name']);
Run Code Online (Sandbox Code Playgroud)

尝试

$aMemberships[$aMemb['ID']] = $aMemb['Name'];
Run Code Online (Sandbox Code Playgroud)