簡體   English   中英

從 php 上的數組中獲取值

[英]get values from an array on php

你好我有一個代碼可以在用戶元中保存值(我使用 wordpress)。 在我的情況下,我從訂閱表格中保存電子郵件,我的想法是獲取電子郵件並使用它們來創建一個包含 wp_mail 的變量,以向每個人發送電子郵件,例如成功的訂閱電子郵件和其他電子郵件。

要保存我找到的值: 將值添加到數組中的用戶元字段

因為直到現在我都不知道如何在不丟失 wordpress user_meta 中已有的值的情況下保存和獲取許多值。 順便說一下,這似乎對我有用,如果沒有,我很感激你告訴我,如果你明白我需要做什么。

所以我保存了它們:

if (isset ($_POST ['sub_sus'])) { 
    $email_subscribers2 = $_POST['email_sus']; 
    $subscriber_list2 = get_user_meta ($vendor_id, 'subscribers3', false); 
    if (! array($subscriber_list2)) {  
        $subscriber_list2 = array ();  
    }  
    $subscriber_list2[] = $email_subscribers2; 
    update_user_meta($vendor_id, 'subscribers3', $ subscriber_list2);
}

但我不知道如何得到它們,我知道它們得救了,因為我在這里看到它們:

$emails_all_subscription = get_user_meta ($vendor_id, 'subscribers3', false); 
echo print_r($emails_all_subscription);

結果:

Array (
    [0] => Array (
        [0] => Array (
            [0] => Array (
                [0] => Array (
                    [0] => Array (
                        [0] => Array (
                            [0] => Array (
                                [0] => Array (  
                                    [0] => Array (
                                        [0] => Array (
                                            [0] => Array (
                                                [0] => luu@gmail.com
                                                ) 
                                            [1] => my@gmail.com 
                                            ) 
                                        [1] => 333@gmail.com
                                        ) 
                                    [1] => 22@gmail.com
                                    ) 
                                [1] => 44@gmail.com
                                ) 
                            [1] => tiendanandito@gmail.com
                            ) 
                        [1] => dfghdfg@gmail.com
                        ) 
                    [1] => dsfdsf34@gmail.com
                    ) 
                [1] => 888@gmail.com
                ) 
            [1] => 4opp@hotmail.com
            ) 
        [1] => 99999999@hotmaoil.com
        ) 
    ) 
    1

但我需要的是只獲取電子郵件作為結果,而不是數組的其余部分([0] =>。例如,我只想要電子郵件並用逗號分隔,以便將它們作為變量發送到 wp_mail

一些幫助? 提前致謝

使用翻譯器,這就是為什么它沒有完全按照它應該看到的,但我認為它是完全理解的。 對不起

我已經試過 echo var_dump ($ emails_all_subscription); 但它不是只返回電子郵件,而是給了我更多的數組文本

array(1) { 
    [0]=> array(2) { 
        [0]=> array(2) { 
            [0]=> array(2) { 
                [0]=> array(2) { 
                    [0]=> array(2) { 
                        [0]=> array(2) { 
                            [0]=> array(2) { 
                                [0]=> array(2) { 
                                    [0]=> array(2) { 
                                        [0]=> array(2) { 
                                            [0]=> array(1) { 
                                                [0]=> string(13) "luu@gmail.com" 
                                                } 
                                            [1]=> string(13) "mio@gmail.com" 
                                            } 
                                        [1]=> string(13) "333@gmail.com" 
                                        } 
                                    [1]=> string(12) "22@gmail.com" } [1]=> string(12) "44@gmail.com" } [1]=> string(23) "tiendanandito@gmail.com" } [1]=> string(17) "dfghdfg@gmail.com" } [1]=> string(18) "dsfdsf34@gmail.com" } [1]=> string(13) "888@gmail.com" } [1]=> string(16) "4opp@hotmail.com" } [1]=> string(21) "99999999@hotmaoil.com" } }

我不知道我是否錯了,但我認為每個值都保存在前一個數組中的一個數組中,依此類推,因為當我打開一個 foreach 時它返回數組,而我在前一個 foreach 中打開一個 foreach 它返回數組和最后一封電子郵件,如果我在前一封郵件中再打開另一個 foreach 然后返回最后一封電子郵件之前的郵件和一個數組等等,那么,我保存或創建數組的方式是錯誤的,對嗎?

我建議對您的 $emails_all_subscription 結果進行 foreach 循環。 試着在那里做你的 echo print_r 語句。

根據它的外觀,您可以進一步訪問帶有 [] 括號的值,還有一些 array_functions 您也可以查看。

不確定您是否需要它們,但它們在此處可用 ->

https://www.php.net/manual/en/function.array-values.php

嘗試var_dump($_POST); 確定post方法中是否有數據發送,如果為空,嘗試檢查var_dump($_GET)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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