php - 如何使用 PHP 将单个数组项推送到另一个数组中?

标签 php arrays

我有一个以两种方式之一返回 JSON 的 post 调用:

$json1 = '{"found":1,"email":"email1@domain.com","error":"","rd":"email2@domain.com"}';
$json2 = '{"found":1,"email":"email1@domain.com,email2@domain.com","error":"","rd":"email3@domain.com,email4@domain.com"}';

在第一种情况下,emailrd 参数每个都只有一个电子邮件地址。在第二个中,同样的两个参数每个都有多个接收者。

我需要从每个参数中获取电子邮件并将其添加到一个已经存在的数组中:

$recipients = array('support@domain.com');

我可以使用以下代码让它与 $json1 变量一起工作:

array_push($recipients, $obj->{'rd'}, $obj->{'email'});

第二个 JSON 选项很少发布,但我仍然需要相同的代码来处理这两个实例。目前,如果我将上面的代码与第二个 JSON 数据一起使用,它会返回:

Array
(
    [0] => support@sculpturehospitality.com
    [1] => email3@domain.com,email4@domain.com
    [2] => email1@domain.com,email2@domain.com
)

在同一参数中有多个电子邮件。有没有人知道我如何在每个数组项中分离电子邮件?

一个工作示例:

http://sandbox.onlinephpfunctions.com/code/24c4a1eaea98566b65cd36e221dd1f185e820ea6

最佳答案

只是explode()您的属性用逗号分隔并将它们添加到数组中,例如

$recipients = array_merge($recipients, explode(",", $obj->rd)
                                     , explode(",", $obj->email) /*,  ... */);

另请注意,我现在使用 array_merge()而不是 array_push() ,因为您不再有单个值,而是一个包含新元素的数组:

array_push():

//Single value
$array = ["First element"];
$singleValue = "Second element";

array_push($array, $singleValue);

输出:

Array( [0] => First element [1] => Second element)
//Array
$array = ["First element"];
$secondArray= ["Second element", "And third element"];

array_push($array, $secondArray);

输出:

Array( [0] => First element [1] => Array( [0] => Second element [1] => And third element))

array_merge():

//Single value
$array = ["First element"];
$singleValue = "Second element";

$array = array_merge($array, $singleValue);

输出:

Warning: array_merge(): Argument #2 is not an array

//Array
$array = ["First element"];
$secondArray= ["Second element", "And third element"];

$array = array_merge($array, $secondArray);

输出:

Array( [0] => First element [1] => Second element [2] => And third element)

关于php - 如何使用 PHP 将单个数组项推送到另一个数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34319423/

相关文章:

javascript - 绑定(bind)数组中不同元素的值 (JavaScript)

c# - 可以使用 Interlocked.CompareExchange with a Bit 吗?

php - 警告:mysqli_fetch_assoc()期望参数1为mysqli_result,在第47行的C:\xampp\htdocs\sms\resultprocessing.php中给出的 bool 值

javascript - 如何从数据库中获取值并在单击提交按钮之前显示计算值

PHP MySQL 查询数据库和 WHERE 子句

php - 从 php 生成的邮件在 Outlook 中没有格式化,但在 Iphone 邮件上看起来很完美

ios - 如何唯一标识 UITableView 中的每个单元格

c# - 在 C# 中创建具有 'foreach' 循环的字符串数组

java - 我可以在java中将一维数组存储到二维数组中吗?

php - 根据字段值排序数据