YALINQO:查询深度数组
YALINQO: Query deep array
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'];
现在我想根据我选择的 CustomUserData 打印 EndpointArn,但我的代码不起作用。
这是代码:
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
有人可以在这里遮光吗?
谢谢。
经过反复尝试,答案如下:
print
from($Model2['Endpoints'])
->where(function($np){return $np['Attributes']['CustomUserData'] == 'Oppo';})
->select(function($np){ return $np['EndpointArn']; })
->toString()
;
结果
arn:aws:sns:ap
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'];
现在我想根据我选择的 CustomUserData 打印 EndpointArn,但我的代码不起作用。
这是代码:
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
有人可以在这里遮光吗?
谢谢。
经过反复尝试,答案如下:
print
from($Model2['Endpoints'])
->where(function($np){return $np['Attributes']['CustomUserData'] == 'Oppo';})
->select(function($np){ return $np['EndpointArn']; })
->toString()
;
结果
arn:aws:sns:ap