YALINQO: запрос глубокого массива

Array
(
[0] => Array
(
[EndpointArn] => arn:aws:sns
[Attributes] => Array
(
[Enabled] => true
[Token] => APA91
[CustomUserData] => Alcatel
)

)

[1] => Array
(
[EndpointArn] => arn:aws:sns:ap
[Attributes] => Array
(
[Enabled] => true
[Token] => APA91bGC
[CustomUserData] => Oppo
)

)

)

Я получаю этот массив из источника.
Я новичок в yalinqo, поэтому после попыток и ошибок я могу напечатать CustomUserData с этим кодом:

$result= from($Model2['Endpoints'][0]['Attributes'])->select(function($np) { return $np; });

print $result->toArrayDeep()['CustomUserData'];

Теперь я хочу напечатать EndpointArn на основе CustomUserData, который я выбрал, но мой код не работает.

Это код:

print
from($Model2['Endpoints'])
->select(function($np){ return $np['EndpointArn']; })
->where(function($np){return $np['Attributes']['CustomUserData'] == 'Oppo';})
->toArrayDeep()
;

Сообщение об ошибке:

Warning: Illegal string offset 'Attributes' in /home/u
Warning: Illegal string offset 'CustomUserData' in /home/u
Warning: Illegal string offset 'Attributes' in /home/u
Warning: Illegal string offset 'CustomUserData' in /home/u

Этот код:

print
from($Model2['Endpoints'])
->select(function($np){ return $np['EndpointArn']; })
->where(function($np){return $np['Attributes']['CustomUserData'] == 'Oppo';})
;

Сообщение об ошибке:

Catchable fatal error: Object of class YaLinqo\Enumerable could not be converted to string in

Может ли кто-нибудь затенить здесь свет?

Благодарю.

2

Решение

После попытки и ошибки вот ответ:

print
from($Model2['Endpoints'])
->where(function($np){return $np['Attributes']['CustomUserData'] == 'Oppo';})
->select(function($np){ return $np['EndpointArn']; })
->toString()
;

Результат

arn:aws:sns:ap
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]