[英]php continue "foreach" after return
我正在為特定主題開發WordPress插件,但有一個一般性問題,
我有一個數組,想對每個對象做一些事情並返回結果。
一切正常,但“ foreach ”僅適用於數組的第一個對象,我認為這是因為“ return”,但由於某些原因,我不能使用“ echo ”代替 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
這是因為每次都在foreach()
循環內進行變量覆蓋。 實際上你不是只返回第一個元素,這里你返回最后一個元素,因為你每次在foreach()
循環中都覆蓋$user_field
變量
嘗試使用$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;
或者您甚至可以在循環中的每個字段上工作並且不返回任何內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.