[英]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 您也可以查看。
不确定您是否需要它们,但它们在此处可用 ->
尝试var_dump($_POST);
确定post方法中是否有数据发送,如果为空,尝试检查var_dump($_GET)
;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.