Foreach循环内部数组

use*_*940 9 php arrays foreach

我正在尝试使用for循环在数组中创建一个数组 - 这是我的代码:

    array(
    'label' => 'Assign to user',
    'desc' => 'Choose a user',
    'id' => $prefix.'client',
    'type' => 'radio'
    'options' => array( 
        foreach ($clients as $user) {
         $user->user_login => array (  
            'label' => $user->user_login,  
            'value' => $user->user_login,
            ), 
        }
        )
    )
Run Code Online (Sandbox Code Playgroud)

不幸的是,这给了我一个

"解析错误:语法错误,意外T_CONSTANT_ENCAPSED_STRING,期待')'"

对于线:

'options' => array( 
Run Code Online (Sandbox Code Playgroud)

对于出了什么问题,我有点不知所措 - 任何帮助都非常感激.$ clients在别处定义,所以这不是问题.

Mar*_*c B 18

这是无效的语法.你必须首先构建数组的"父"部分.然后使用foreach循环添加子数组:

$foo = array(
    'label' => 'Assign to user',
    'desc' => 'Choose a user',
    'id' => $prefix.'client',
    'type' => 'radio',
    'options' => array()
);

foreach ($clients as $user) {
    $foo['options'][] = array (  
        'label' => $user->user_login,  
        'value' => $user->user_login,
    );
}
Run Code Online (Sandbox Code Playgroud)