PHP 返回后继续"foreach"



我正在为特定主题开发一个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;

或者,您甚至可以在循环中处理每个字段,但不返回任何结果。

最新更新