如何解决如何选择数组项是否存在于其他多维数组中
我有问题,我想查看多维数组的值(id_person)是否存在于其他多维数组中。 (id_person是我想在这两个数组中进行比较的值-第二个数组中有Eddie Taylor:id_person 302和Jack Jones:id_person 311)。我希望有人可以为我提供帮助。非常感谢。
Array one: ($homesquad)
array(4) {
[0]=>
array(9) {
["id"]=>
string(3) "277"
["id_club"]=>
string(2) "44"
["id_season"]=>
string(1) "2"
["position"]=>
string(1) "8"
["id_person"]=>
string(3) "306"
["name"]=>
string(10) "Mark Jones"
["type"]=>
string(1) "2"
["captain"]=>
string(1) "0"
["pos"]=>
string(1) "1"
}
[1]=>
array(9) {
["id"]=>
string(3) "282"
["id_club"]=>
string(2) "44"
["id_season"]=>
string(1) "2"
["position"]=>
string(2) "11"
["id_person"]=>
string(3) "311"
["name"]=>
string(10) "Jack Jones"
["type"]=>
string(1) "2"
["captain"]=>
string(1) "0"
["pos"]=>
string(1) "4"
}
[2]=>
array(9) {
["id"]=>
string(3) "273"
["id_club"]=>
string(2) "44"
["id_season"]=>
string(1) "2"
["position"]=>
string(1) "4"
["id_person"]=>
string(3) "302"
["name"]=>
string(12) "Eddie Taylor"
["type"]=>
string(1) "2"
["captain"]=>
string(1) "0"
["pos"]=>
string(1) "6"
}
[3]=>
array(9) {
["id"]=>
string(3) "270"
["id_club"]=>
string(2) "44"
["id_season"]=>
string(1) "2"
["position"]=>
string(1) "2"
["id_person"]=>
string(3) "299"
["name"]=>
string(13) "Jonas Haverla"
["type"]=>
string(1) "2"
["captain"]=>
string(1) "0"
["pos"]=>
string(2) "10"
}
}
Array two ($homeabsences)
array(5) {
[0]=>
array(7) {
["id"]=>
string(3) "265"
["id_club"]=>
string(2) "44"
["id_season"]=>
string(1) "2"
["position"]=>
string(1) "1"
["id_person"]=>
string(3) "294"
["name"]=>
string(13) "Harry Jackson"
["type"]=>
string(1) "1"
}
[1]=>
array(7) {
["id"]=>
string(3) "269"
["id_club"]=>
string(2) "44"
["id_season"]=>
string(1) "2"
["position"]=>
string(1) "2"
["id_person"]=>
string(3) "311"
["name"]=>
string(10) "Jack Jones"
["type"]=>
string(1) "1"
}
[2]=>
array(7) {
["id"]=>
string(3) "288"
["id_club"]=>
string(2) "44"
["id_season"]=>
string(1) "2"
["position"]=>
string(2) "14"
["id_person"]=>
string(3) "302"
["name"]=>
string(12) "Eddie Taylor"
["type"]=>
string(1) "1"
}
[3]=>
array(7) {
["id"]=>
string(3) "286"
["id_club"]=>
string(2) "44"
["id_season"]=>
string(1) "2"
["position"]=>
string(2) "14"
["id_person"]=>
string(3) "315"
["name"]=>
string(12) "Terry Barnes"
["type"]=>
string(1) "2"
}
[4]=>
array(7) {
["id"]=>
string(3) "277"
["id_club"]=>
string(2) "44"
["id_season"]=>
string(1) "2"
["position"]=>
string(1) "8"
["id_person"]=>
string(3) "366"
["name"]=>
string(14) "Jerry O'Donald"
["type"]=>
string(1) "7"
}
}
我当前的(更新)代码(无效):
{foreach item=player from=$homesquad}
{if $player.pos == $count} (filtering the first array based on pos value)
{if in_array("id_person",$homeabsences)}
Do X.
{else}
Do Y.
{/if}
{/if}
{/foreach}
解决方法
要查找数组中id_person的所有值,请使用array_column函数。然后,您可以找到它是否重叠:
array_intersect(
array_column($homesquad,'id_person'),array_column($homeabsences,'id_person')
)
或为单个值
in_array($player['id_person'],'id_person'))
,
使用PHP函数array_intersect获取在第一个数组和第二个数组中都找到的值。尝试以下代码:
df.iloc[2:4,:]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。