簡體   English   中英

php 返回后繼續“foreach”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM