У меня есть следующий массив.

Я пытаюсь понять, как создать оператор if в foreach, который установит истину или ложь в зависимости от того, имеет ли какой-либо из отдельных индексов [Customer_Facing_Comments__r]

Я использую этот код - однако он просто сообщает мне, находится ли [Customer_Facing_Comments__r] в массиве, что всегда и есть. Мне нужно увидеть, есть ли он в каждом индексе [0], [1] ... и т. Д., И установить для него истинную или ложную основу.

КОД:

    foreach($queryResult->records as $record){
    if (array_key_exists("Customer_Facing_Comments__r",$record)) {
    $test = 'true'; }
    else { $test = 'false'; } }

QueryResult Object
(
    [queryLocator] => 
    [done] => 1
    [records] => Array
        (
            [0] => stdClass Object
                (
                    [Id] => 5003xx0255mhcAAA
                    [Account] => stdClass Object
                        (
                            [Id] => 0010cxx026IwsTAAS
                            [Name] => xxx
                        )
                    [AccountId] => 0010c0xxwsTAAS
                    [Customer_Facing_Comments__r] => stdClass Object
                        (
                            [done] => 1
                            [queryLocator] => 
                            [records] => Array
                                (
                                    [0] => stdClass Object
                                        (
                                            [Id] => 
                                            [Comment__c] => test string
                                            [CreatedDate] => 2021-02-13T00:25:50.000Z
                                            [Trouble_Ticket__c] => 5003x0000255mhcAAA
                                        )
                                )
                            [size] => 1
                        )
                    [Type] => Service Down
                )
            [1] => stdClass Object
                (
                    [Id] => 5003x000024Y6TpAAK
                    [Account] => stdClass Object
                        (
                            [Id] => 0010c0cccc6IwsTAAS
                            [Name] => test
                        )
                    [AccountId] => 0010c00cccIwsTAAS
                )
0
user2680315 25 Фев 2021 в 05:10

1 ответ

Лучший ответ

Просто укажите ключ в foreach и используйте его в своем массиве результатов $test:

foreach($queryResult->records as $key => $record){
    if (isset($record->Customer_Facing_Comments__r)) {
        $test[$key] = 'true';
    } else {
        $test[$key] = 'false';
    }
}
1
AbraCadaver 25 Фев 2021 в 03:04