繁体   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