[英]how to trim an array format?
我必须找到两个数组之间的区别,并将其存储在第三个数组中。
这就是我为此所做的
$newEmails=array_diff($Emails_1, $Emails_2);
现在的问题是$Emails_1
格式为->
array(1) { [0] => string(20) "tester@xyz.com" }
和
$Emails_2
采用这种格式->
array(1) { [0] => array(1) { 'email' => string(20) "tester@xyz.com" } }
我应该怎么做$Emails_2
,所以它进来相同的格式为$Emails_1
PS:我无法篡改$Emails_1
,只能更改$Emails_2
你可以在比较之前做到这一点
$EmailTemp=$Emails_2[0]["email"];
$Emails_2=array();
$Emails_2[0]=$EmailTemp;
$Emails_1 is in this format -> array(1) { [0] => string(20) "tester@xyz.com" }
$Emails_2 comes in this format -> array(1) { [0] => array(1) { 'email' => string(20) "tester@xyz.com" } }
选项1:为什么不先删除数组中的字符串,
$email1 = $Emails_1[0];
$email2 = $Emails_2[0]['email'];
选项2:使array_difference(..)迭代,
function array_difference($currentEmails, $comingEmails)
{
$newEmails = new Array();
for ($comingEmails as $p)
{
if (!in_array($p['email'], $currentEmails))
{
$newEmails[]=$p['email'];
}
}
return $newEmails;
}
$temp = array();
foreach($Emails_2 as $key => $value){
$temp[$key] = $value['email'];
}
$Emails_2 = $temp;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.