Php 如何匹配两个数组中的值?
使用PHP,如何将订阅者与使用这两个数组的用户进行匹配 $subscribersPhp 如何匹配两个数组中的值?,php,arrays,Php,Arrays,使用PHP,如何将订阅者与使用这两个数组的用户进行匹配 $subscribers Array ( [0] => stdClass Object ( [meta_id] => 1 [email] => name@example.com ) ) Array ( [0] => stdClass Object ( [ID] => 1
Array
(
[0] => stdClass Object
(
[meta_id] => 1
[email] => name@example.com
)
)
Array
(
[0] => stdClass Object
(
[ID] => 1
[user_email] => name@example.com
)
[1] => stdClass Object
(
[ID] => 2
[user_email] => name2@example.com
)
$users
Array
(
[0] => stdClass Object
(
[meta_id] => 1
[email] => name@example.com
)
)
Array
(
[0] => stdClass Object
(
[ID] => 1
[user_email] => name@example.com
)
[1] => stdClass Object
(
[ID] => 2
[user_email] => name2@example.com
)
我以为这样就可以了
<?php
foreach ( $users as $user ) {
if ( in_array( 'name@example.com', $subscribers ) ) {
echo 'Matched user';
}
}
我才意识到为什么我的坏了<代码>$subscribers
是一个数组$users
是一个对象。有什么办法可以让它发挥作用吗?从你粘贴的内容来看,$users
是一个对象数组,就像$subscribers
一样。如果不是,则需要修正问题以反映存储在该变量中的实际值。无需担心。事实证明,这只是个案差异的问题<代码>strltlower($user->user\u email)修复了它。谢谢。不要在电子邮件地址上使用strtolower()
。根据RFC,邮箱名称区分大小写。换句话说,在“test@example.com,“test”区分大小写。(“example.com”不是。)test@example.com“和”Test@example.com“是不同的邮箱。我刚刚意识到为什么我的邮箱不工作<代码>$subscribers是一个数组$users
是一个对象。有什么办法可以让它发挥作用吗?从你粘贴的内容来看,$users
是一个对象数组,就像$subscribers
一样。如果不是,则需要修正问题以反映存储在该变量中的实际值。无需担心。事实证明,这只是个案差异的问题<代码>strltlower($user->user\u email)修复了它。谢谢。不要在电子邮件地址上使用strtolower()
。根据RFC,邮箱名称区分大小写。换句话说,在“test@example.com,“test”区分大小写。(“example.com”不是。)test@example.com“和”Test@example.com“是不同的邮箱。