我正在针对特定主题开发 WordPress 插件,但是有一个普遍的问题,
我有一个数组,想要对每个对象做一些事情并返回结果。
一切都很好,但是“ foreach ”仅适用于数组的第一个对象,我认为是因为“ 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;
}
我已经阅读了其他类似的主题,但是将变量传递给另一个函数来替我完成“返回”工作
答案 0 :(得分:1)
您的疑问:“ foreach”仅适用于数组的第一个对象,我认为它是因为“返回”的原因
否这不是return
的原因,这是因为每次foreach()
循环内都会覆盖变量。实际上,您并不是只返回 first 元素,而是返回 last 元素,因为每次{{1 }}循环
尝试使用$user_field
将结果推送到它,那么您很好
foreach()
答案 1 :(得分:0)
所有功能都可以使用,直到return
关键字为止。您需要创建一个新数组,并将所有已编辑的元素附加到该数组,然后将其返回。
$user_fields = array();
foreach ($cast_list as $value)
{
array_push($user_fields, get_field($value));
}
return $user_fields;
或者您甚至可以在循环中的每个 field 上工作,什么也不返回。