1

================================================== ================================

ソリューション コード:

$array = array();
$i = 1;
while( $i <= $instance['posts_num'] ) {
    $array['tab'.$i.'_title'] = 'Category Heading';
    $array['tab'.$i.'_thumb'] = 'Insert link here';
    $array['tab'.$i.'_featured'] = 'Insert link here';
    $array['tab'.$i.'_description'] = 'Insert category desciption';
    $array['tab'.$i.'_link'] = 'Insert category link';          
$i += 1;
}   

$instance = wp_parse_args( (array)$instance, array(
    'heading' => 'Featured Area', 
    'title' => '',
    'posts_num' => 1,

    (array) $array
) );

================================================== ================================

while ループを使用して配列を作成するにはどうすればよいですか。

シンプルな wordpress プラグインで while ループを使用して配列を作成しようとしています。私のコードは以下の通りです:

    $instance = wp_parse_args( (array)$instance, array(
        'heading' => 'Featured Area', 
        'title' => '',
        'posts_num' => 1,

        $array = array();

        $i = 1;
        while( $i <= $instance['posts_num'] ) {

            $array[] = 'tab'.$i.'_title' => 'Category Heading',
            $array[] = 'tab'.$i.'_thumb' => 'Insert link here',
            $array[] = 'tab'.$i.'_featured' => 'Insert link here',
            $array[] = 'tab'.$i.'_description' => 'Insert category desciption',
            $array[] = 'tab'.$i.'_link' => 'Insert category link',

        $i += 1;
        }

    ) );

私が正しく行っているかどうかを確認したいだけです。

私はこのような配列を生成したい:

'tab1_title' => 'Category Heading',
'tab1_thumb' => 'Insert link here',
'tab1_featured' => 'Insert link here',
'tab1_description' => 'Insert category desciption',
'tab1_link' => 'Insert category link',

'tab2_title' => 'Category Heading',
'tab2_thumb' => 'Insert link here',
'tab2_featured' => 'Insert link here',
'tab2_description' => 'Insert category desciption',
'tab2_link' => 'Insert category link',
4

3 に答える 3

2

の中にwhileループを入れようとしていますarray()。それはうまくいきません。を呼び出す前に配列をwp_parse_args作成し、完成した配列をに渡します。

于 2012-12-31T14:59:15.410 に答える
1
while( $i <= $instance['posts_num'] ) {


            $array["tab{$i}_title"] = 'Category Heading';
            //...Repeat for others here.


        $i += 1;
        }



array(4) {
  ["tab0_title"]=>
  string(16) "Category Heading"
  ["tab1_title"]=>
  string(16) "Category Heading"
  ["tab2_title"]=>
  string(16) "Category Heading"
  ["tab3_title"]=>
  string(16) "Category Heading"
}
于 2012-12-31T15:06:23.477 に答える
0

コードの問題は、間違った構文/ロジックを使用していることです。

例 :

$array['tab'.$i.'_title'] = 'Category Heading';
$array['tab'.$i.'_thumb'] = 'Insert link here';
$array['tab'.$i.'_featured'] = 'Insert link here';
$array['tab'.$i.'_description'] = 'Insert category desciption';
$array['tab'.$i.'_link'] = 'Insert category link';
于 2012-12-31T15:03:02.590 に答える