繁体   English   中英

将数据添加到数组

[英]Adding data to an array

我正在尝试使用while循环向数组添加数据,但它似乎是将数据添加为字符串而不是数组。 循环/数组是我仍在学习的东西,任何帮助都会很棒。

$c = 0;
$numberofcustom = 5;
$defaults = array(
'title' => __('Follow Us!', 'smw'),
 'text' => ''
);
while ($c < $numberofcustom) {
    $customnumber = $c + 1;
    $defaults.=array(
        'custom' . $customnumber . 'name' => __('', 'smw'),
        'custom' . $customnumber . 'icon' => __('', 'smw'),
        'custom' . $customnumber . 'url' => __('', 'smw')
    );
    $c++;
}

print_r($defaults);

问题似乎是从循环中添加数据,如果我只是执行print_r ,我只是回到“数组”。

任何帮助,将不胜感激。

UPDATE

我决定不需要多维数组,所以我使用了下面的建议并想出了

while( $c < $numberofcustom){
    $customnumber = $c+1;
        $defaults['custom'.$customnumber.'name'] = __('', 'smw');
        $defaults['custom'.$customnumber.'icon'] = __('', 'smw');
        $defaults['custom'.$customnumber.'url'] = __('', 'smw');
    $c++;       
    }

你需要使用$arrayname[] = $var ,这是附加新项目的PHP语法。 看到这个页面

$defaults[] =array(
            'custom'.$customnumber.'name' => __('', 'smw'),
            'custom'.$customnumber.'icon' => __('', 'smw'),
            'custom'.$customnumber.'url' => __('', 'smw')
             );

不要这样做:

$defaults.=array(

            'custom'.$customnumber.'name' => __('', 'smw'),
            'custom'.$customnumber.'icon' => __('', 'smw'),
            'custom'.$customnumber.'url' => __('', 'smw')
             );

动态数组键几乎与具有动态名称的变量一样糟糕。 改为使用另一个数组级别:

$defaults[$customernumber] = array(
    'customname' => __('', 'smw'),
    'customicon' => __('', 'smw'),
    'customurl'  => __('', 'smw'),
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM