亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

搜索對象數組并返回新的對象數組

搜索對象數組并返回新的對象數組

PHP
泛舟湖上清波郎朗 2022-11-12 13:37:53
我需要一些幫助。我一直在嘗試解決這個問題,但我不能,所以我想做的是我試圖將對象數組 blackListUser 與contactUsers 進行比較。如果有匹配,我想返回新用戶的白名單,而沒有后備用戶,這是最后一個預期的新數組。for($counter = 0; $counter < count($blackListUsers); $counter++) {    how i can check here}ContactUsersArray(    [0] => stdClass Object        (            [user_id] => 2            [full_name] => User B            [image] => 1582735876user-a.png        )    [1] => stdClass Object        (            [user_id] => 3            [full_name] => User C            [image] => 1582735876user-a.png        )    [2] => stdClass Object        (            [user_id] => 4            [full_name] => User D            [image] => 1582735876user-a.png        )    [3] => stdClass Object        (            [user_id] => 5            [full_name] => User E            [image] => 1582735876user-a.png        )    [4] => stdClass Object        (            [user_id] => 6            [full_name] => User F            [image] => 1582735876user-a.png        )    [5] => stdClass Object        (            [user_id] => 8            [full_name] => User G            [image] => 1582735876user-a.png        ))blackListUsersArray(    [0] => stdClass Object        (            [user_id] => 2            [full_name] => User B            [image] => 1582735876user-a.png        )    [1] => stdClass Object        (            [user_id] => 3            [full_name] => User C            [image] => 1582735876user-a.png        ))expected new array Array    (        {                "user_id": "4",                "name": "User D",                "image": "1582735876user-a.png"            },            {                "user_id": "5",                "name": "User E",                "image": "1582735876user-a.png"            },            {                "user_id": "6",                "name": "User F",                "image": "1582735876user-a.png"            },            {                "user_id": "8",                "name": "User G",                "image": "1582735876user-a.png"            }    )
查看完整描述

1 回答

?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

<?php

$user1->user_id = 2;

$user1->full_name = 'User B';

$user1->image = '1582735876user-a.png';


$user2->user_id = 3;

$user2->full_name = 'User C';

$user2->image = '1582735876user-a.png';


$user3->user_id = 4;

$user3->full_name = 'User D';

$user3->image = '1582735876user-a.png';


$user4->user_id = 3;

$user4->full_name = 'User C';

$user4->image = '1582735876user-a.png';


$users = [$user1, $user2, $user3];

$blackListedUsers = [$user4];


$res = array_filter($users, function ($user) use ($blackListedUsers) {

    return !in_array($user, $blackListedUsers);

});


var_dump($res);

array_filter匿名函數一起使用;和in_array。閱讀in_array文檔以查看它是否符合您的需要,因為它正在比較兩個對象,您可以使用一個自定義函數,該函數僅在兩個對象的 ID 相等時進行測試。


更新


或者更適合初學者的代碼版本:


<?php

$user1->user_id = 2;

$user1->full_name = 'User B';

$user1->image = '1582735876user-a.png';


$user2->user_id = 3;

$user2->full_name = 'User C';

$user2->image = '1582735876user-a.png';


$user3->user_id = 4;

$user3->full_name = 'User D';

$user3->image = '1582735876user-a.png';


$user4->user_id = 3;

$user4->full_name = 'User C';

$user4->image = '1582735876user-a.png';


$users = [$user1, $user2, $user3];

$blackListedUsers = [$user4];


$validUsers = [];

foreach ($users as $user) {

    if (!isBlacklisted($user, $blackListedUsers)) {

        $validUsers[] = $user;

    }

}


var_dump($validUsers);


function isBlacklisted($user, $blackListedUsers) {

    foreach ($blackListedUsers as $blackListedUser) {

        if ($user->user_id == $blackListedUser->user_id) {

            return true;

        }

    }


    return false;

}


查看完整回答
反對 回復 2022-11-12
  • 1 回答
  • 0 關注
  • 137 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號