[英]Foreach loop inside array
我正在尝试使用 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,
),
}
)
)
不幸的是,这给了我一个
“解析错误:语法错误,意外的 T_CONSTANT_ENCAPSED_STRING,期待 ')'”
对于线路:
'options' => array(
我对出了什么问题有点不知所措 - 非常感谢任何帮助。 $clients 在别处定义,所以这不是问题。
那是无效的语法。 您必须先构建数组的“父”部分。 然后使用 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,
);
}
您使用 foreach 来访问数据,而不是定义它。
尝试这个:
array(
'label' => 'Assign to user',
'desc' => 'Choose a user',
'id' => $prefix.'client',
'type' => 'radio'
'options' => $clients
)
如果您需要更改 'options' 的数据结构,请在定义主数组之前执行此操作。
您不能在数组的定义中使用 foreach。 但是,您可以将$clients
变量放在数组本身中,或者您可以在数组外 foreach 以构建要插入到options
键的数组
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.