このforeachループがあります。
foreach($aMbs as $aMemb){
$ignoreArray = array(1,3);
if (!in_array($aMemb['ID'],$ignoreArray)){
$aMemberships[] = array($aMemb['ID'] => $aMemb['Name']);
}
}
これにより正しいフィールドが出力されますが、それらは配列内の配列です。このような単純な配列を出力するには、foreachループが必要です。
$aMemberships = array('1' => 'Standard', '2' => 'Silver');
私は何を間違えていますか?
$ aMembershipsの割り当てを変更する必要があります
$aMemberships[] = $aMemb['Name'];
配列が必要な場合
$aMemberships[$aMemb['ID']] = $aMemb['Name'];
地図が必要な場合。
あなたがしているのは、配列に配列を追加することです。
Foreachステートメントの連想配列:
foreach($nodeids as $field => $value) {
$field_data[$field]=$value;
}
出力:
Array(
$field => $value,
$field => $value
...
);
codeIgniterへの挿入:
$res=$this->db->insert($bundle_table,$field_data);
の代わりに
$aMemberships[] = array($aMemb['ID'] => $aMemb['Name']);
試して
$aMemberships[$aMemb['ID']] = $aMemb['Name'];
既存のコードは増分キーを使用し、対応する値として配列を使用します。 $aMemberships
をキーとして$aMemb['ID']
として、値を$aMemb['Name']
に設定した連想配列にするには、変更する必要があります
$aMemberships[] = array($aMemb['ID'] => $aMemb['Name']);
foreachループで:
$aMemberships[$aMemb['ID']] = $aMemb['Name']);
この行で実行しているため、配列の配列を出力します
$aMemberships[] = array($aMemb['ID'] => $aMemb['Name']);
ここで、変数の後に、配列の新しい行に値を割り当てることを示しており、その行に他の配列を挿入しています
そのため、他の所有者が既に提供した例を使用するか、この方法を使用できます。
int array_Push ( array &$array , mixed $var [, mixed $... ] )
ここにあなたがAPIで見つけることができる例があります
<?php
$stack = array(0=>"orange",1=>"banana");
array_Push($stack, 2=>"Apple",3=>"raspberry");
print_r($stack);
?>
//prints
Array
(
[0] => orange
[1] => banana
[2] => Apple
[3] => raspberry
)
key and value
foreachループの連想配列のキーと値のペアを持つ連想配列を作成します。
$aMemberships=array();//define array
foreach($aMbs as $key=>$value){
$ignoreArray = array(1,3);
if (!in_array($key,$ignoreArray)){
$aMemberships[$key] = $value;
}
}
予想される出力が得られます。
array('1' => 'Standard', '2' => 'Silver');