この記事は公開から7年、最終更新日からも7年経過しています。内容が古くなっている可能性があります。
当サイトはAmazonアソシエイトとして、適格販売により収入を得ています。
目次
概要
PHP配列格納と取得の例(その2かな?)
※おまけ:WordPressで実装していますが、ショートコードの話以外はPHPの一般的な内容です。
例1
ソースコード(配列の準備)〜記述方法
function foreachlooptest_setting2() {
$i1=1;
$i2=2;
$i3=3;
$i4=4;
$test_array=array(
'項目A' => array(
'説明'=>'項目Aの説明がここに入ります',
'LOOP' => array (
$i1 => array (
'要素1' => '項目A-1-要素1の値',
'要素2' => '項目A-1-要素2の値',
'要素3' => '項目A-1-要素3の値',
),
$i2 => array (
'要素1' => '項目A-2-要素1の値',
'要素2' => '項目A-2-要素2の値',
'要素3' => '項目A-2-要素3の値',
),
),
),
'項目B' => array(
'説明'=>'項目Bの説明がここに入ります',
'LOOP' => array (
$i1 => array (
'要素1' => '項目B-1-要素1の値',
'要素2' => '項目B-1-要素2の値',
'要素3' => '項目B-1-要素3の値',
),
$i2 => array (
'要素1' => '項目B-2-要素1の値',
'要素2' => '項目B-2-要素2の値',
'要素3' => '項目B-2-要素3の値',
),
$i3 => array (
'要素1' => '項目B-3-要素1の値',
'要素2' => '項目B-3-要素2の値',
'要素3' => '項目B-3-要素3の値',
),
),
),
'項目C' => array(
'説明'=>'項目Cの説明がここに入ります',
'LOOP' => array (
$i1 => array (
'要素1' => '項目C-1-要素1の値',
'要素2' => '項目C-1-要素2の値',
'要素3' => '項目C-1-要素3の値',
),
),
),
);
return $test_array;
}
ソースコード(配列をforeachでループさせて表示する)
function foreachlooptest_output2($arrays) {
$output_html='';
foreach ($arrays as $array=>$values) {
$setsumei = $array . ":<br>" . $arrays[$array]['説明'] . '<br>';
foreach ($arrays[$array]['LOOP'] as $key => $value) {
$setsumei = $setsumei . 'No.' . $key . '->' . $value['要素1'] . '<br>';
$setsumei = $setsumei . 'No.' . $key . '->' . $value['要素2'] . '<br>';
$setsumei = $setsumei . 'No.' . $key . '->' . $value['要素3'] . '<br>';
}
$output_html=$output_html . $setsumei . '<br>';
}
return $output_html;
}
ソースコード(本投稿内に上記の結果を表示させるためのショートコードをWordPress内に定義したもの)
※おまけです。
function foreachlooptest_demo2() {
$test_array=foreachlooptest_setting2();
return foreachlooptest_output2($test_array);
}
add_shortcode( 'loop_demo2' , 'foreachlooptest_demo2' );
結果
ここにショートコード「[loop_demo2]」と記述し実際に実行させて表示しています。
—————————–
項目A:
項目Aの説明がここに入ります
No.1->項目A-1-要素1の値
No.1->項目A-1-要素2の値
No.1->項目A-1-要素3の値
No.2->項目A-2-要素1の値
No.2->項目A-2-要素2の値
No.2->項目A-2-要素3の値
項目B:
項目Bの説明がここに入ります
No.1->項目B-1-要素1の値
No.1->項目B-1-要素2の値
No.1->項目B-1-要素3の値
No.2->項目B-2-要素1の値
No.2->項目B-2-要素2の値
No.2->項目B-2-要素3の値
No.3->項目B-3-要素1の値
No.3->項目B-3-要素2の値
No.3->項目B-3-要素3の値
項目C:
項目Cの説明がここに入ります
No.1->項目C-1-要素1の値
No.1->項目C-1-要素2の値
No.1->項目C-1-要素3の値
例2
ソースコード(配列の準備)〜記述方法2
function foreachlooptest_setting3() {
$i1=1;
$i2=2;
$i3=3;
$i4=4;
$test_array['項目A']=[
'説明'=>'',
'LOOP' => [],
];
$test_array['項目B']=[
'説明'=>'',
'LOOP' => [],
];
$test_array['項目C']=[
'説明'=>'',
'LOOP' => [],
];
$test_array['項目A']['LOOP']=[
$i1 => array (
'要素1' => '項目A-1-要素1の値',
'要素2' => '項目A-1-要素2の値',
'要素3' => '項目A-1-要素3の値',
),
$i2 => array (
'要素1' => '項目A-2-要素1の値',
'要素2' => '項目A-2-要素2の値',
'要素3' => '項目A-2-要素3の値',
),
];
$test_array['項目B']['LOOP']=[
$i1 => array (
'要素1' => '項目B-1-要素1の値',
'要素2' => '項目B-1-要素2の値',
'要素3' => '項目B-1-要素3の値',
),
$i2 => array (
'要素1' => '項目B-2-要素1の値',
'要素2' => '項目B-2-要素2の値',
'要素3' => '項目B-2-要素3の値',
),
$i3 => array (
'要素1' => '項目B-3-要素1の値',
'要素2' => '項目B-3-要素2の値',
'要素3' => '項目B-3-要素3の値',
),
];
$test_array['項目C']['LOOP']=[
$i1 => array (
'要素1' => '項目C-1-要素1の値',
'要素2' => '項目C-1-要素2の値',
'要素3' => '項目C-1-要素3の値',
),
];
$test_array['項目A']['説明']='項目Aの説明がここに入ります';
$test_array['項目B']['説明']='項目Bの説明がここに入ります';
$test_array['項目C']['説明']='項目Cの説明がここに入ります';
return $test_array;
}
—————————–
結果
ここにショートコード「[loop_demo3]」と記述し実際に実行させて表示しています。
—————————–
項目A:
項目Aの説明がここに入ります
No.1->項目A-1-要素1の値
No.1->項目A-1-要素2の値
No.1->項目A-1-要素3の値
No.2->項目A-2-要素1の値
No.2->項目A-2-要素2の値
No.2->項目A-2-要素3の値
項目B:
項目Bの説明がここに入ります
No.1->項目B-1-要素1の値
No.1->項目B-1-要素2の値
No.1->項目B-1-要素3の値
No.2->項目B-2-要素1の値
No.2->項目B-2-要素2の値
No.2->項目B-2-要素3の値
No.3->項目B-3-要素1の値
No.3->項目B-3-要素2の値
No.3->項目B-3-要素3の値
項目C:
項目Cの説明がここに入ります
No.1->項目C-1-要素1の値
No.1->項目C-1-要素2の値
No.1->項目C-1-要素3の値




