我正在为特定主题开发一个WordPress插件,但有一个一般问题,
我有一个数组,想对每个对象做点什么并返回结果
一切正常,但">foreach"只适用于数组的第一个对象,我认为这是因为">return">,但由于某些原因,我不能使用">1echo"代替return
这是我的代码:
$cast_list = array(
"composite_cast",
"graphic_designer_cast",
"product_manager_cast",
"render_cast",
"the3d_cast",
"story_board_cast"
);
foreach ($cast_list as $value)
{
$user_field = get_field($value);
}
return $user_field;
}
我读过其他类似的主题,但将变量传递给另一个函数为我做"返回"工作也不起的作用
您的疑问:"foreach"只适用于数组的第一个对象,我认为这是因为"return">
否这不适用于 最后一个尝试使用return
,因为每次foreach()
循环内都会覆盖变量。实际上,您并不是只返回第一个元素,这里您返回的是$user_field[]
将结果推送给它,然后你就可以使用了$cast_list = array(
"composite_cast",
"graphic_designer_cast",
"product_manager_cast",
"render_cast",
"the3d_cast",
"story_board_cast"
);
foreach ($cast_list as $value)
{
$user_field[] = get_field($value);
}
return $user_field;
所有函数都工作到return
关键字为止。您需要创建一个新的数组,并将所有编辑过的元素附加到其中,然后返回
$user_fields = array();
foreach ($cast_list as $value)
{
array_push($user_fields, get_field($value));
}
return $user_fields;
或者,您甚至可以在循环中处理每个字段,但不返回任何结果。