多次元配列$ md_arrayがあり、サブ配列recipe_typeとテーブルからデータを読み取るループからの料理にさらに要素を追加したいと思います。
ループでは、各行に新しいテーブル$ newdataを作成します。
$newdata = array (
'wpseo_title' => 'test',
'wpseo_desc' => 'test',
'wpseo_metakey' => 'test'
);
そして、array_Push()
を使用して、$ newdata配列を次の多次元配列に追加する必要があります。
$md_array= array (
'recipe_type' =>
array (
18 =>
array (
'wpseo_title' => 'Salads',
'wpseo_desc' => 'Hundreads of recipes for Salads',
'wpseo_metakey' => ''
),
19 =>
array (
'wpseo_title' => 'Main dishes',
'wpseo_desc' => 'Hundreads of recipes for Main dishes',
'wpseo_metakey' => ''
)
),
'cuisine' =>
array (
22 =>
array (
'wpseo_title' => 'Italian',
'wpseo_desc' => 'Secrets from Sicily in a click',
'wpseo_metakey' => ''
),
23 =>
array (
'wpseo_title' => 'Chinese',
'wpseo_desc' => 'Oriental dishes were never this easy to make',
'wpseo_metakey' => ''
),
24 =>
array (
'wpseo_title' => 'Greek',
'wpseo_desc' => 'Traditional Greek flavors in easy to make recipies',
'wpseo_metakey' => ''
)
)
);
Array_pushでrecipe_type配列に新しい要素(配列)を追加するための構文は何ですか?多次元配列に頭を悩ませることは決してできず、少し混乱しています。
連想配列内にインクリメント順にデータを追加したい場合、これを行うことができます:
$newdata = array (
'wpseo_title' => 'test',
'wpseo_desc' => 'test',
'wpseo_metakey' => 'test'
);
// for recipe
$md_array["recipe_type"][] = $newdata;
//for cuisine
$md_array["cuisine"][] = $newdata;
これは、最後のインデックスに応じて、レシピまたは料理に追加されます。
通常、配列プッシュは、シーケンシャルインデックス$ arr [0]、$ ar [1]がある場合に配列で使用されます。連想配列で直接使用することはできません。しかし、サブ配列にはこの種のインデックスがあるため、このように使用できます
array_Push($md_array["cuisine"],$newdata);
多次元配列の場合、エントリは別の配列であるため、その値のインデックスをarray_Pushに指定します。
array_Push($md_array['recipe_type'], $newdata);