【发布时间】:2019-04-25 22:31:46
【问题描述】:
我在下面写了几行代码来获取旅馆特定房间的床位数
$RoomsArray = array_column($RoomsDetails->jsonSerialize(), 'NumberOfBeds');
$FoundNumberOfBeds = array_search('f2937f76-05d0-9725-06fc-37cf061a31c6', $RoomsArray);
$json_string = json_encode($RoomsDetails->jsonSerialize(), JSON_PRETTY_PRINT);
var_dump($FoundNumberOfBeds);
显示bool(false)
期望的输出应该是 2
$RoomsDetails->jsonSerialize() 包含如下数据:
[ {“RoomId”:“f2937f76-05d0-9725-06fc-37cf061a31c6”,“FloorNumber”:“1”,“RoomNumber”:“101”,“RoomPrefix”:“A101”, “房间类型”:{“$oid”:“5b44ca27bb2c563ea4006395”},“NumberOfBeds”: “2”,“可用”:0,“BayId”:{“$oid”:“5be1d5fbbb2c561bb4007837”} }, { "RoomId": "103d89d3-bcdd-351f-6c3c-3b81575b78d2", "FloorNumber": “2”,“房间号”:“01”,“房间前缀”:“B201”,“房间类型”:{“$oid”: “5b44ca2ebb2c563ea4006396”},“NumberOfBeds”:“3”,“可用”:“3”, “BayId”:{“$oid”:“5be1d5fbbb2c561bb4007838”}},{“RoomId”: “5677c541-a0b3-fb74-493b-820549c48997”,“楼层”:“2”, “房间号”:“201”,“房间创建”:“手动”,“房间类型”:{“$oid”: “5b44ca27bb2c563ea4006395”},“NumberOfBeds”:“6”,“可用”:“6”, “BayId”:{“$oid”:“5be1d5fbbb2c561bb4007838”}},{“RoomId”: “1bcf9a01-ca34-5b28-388f-cab05687ff1d”,“楼层数”:“1”, “房间号”:“103”,“房间创建”:“手动”,“房间类型”:{“$oid”: “5b44ca27bb2c563ea4006395”},“NumberOfBeds”:“7”,“可用”:“7”, “BayId”:{“$oid”:“5be1d5fbbb2c561bb4007837”}},{“RoomId”: “5e5d51fd-16e7-4844-2965-98d6afe2d7b4”,“楼层数”:“1”, “房间号”:“105”,“房间创建”:“手动”,“房间类型”:{“$oid”: “5b44ca27bb2c563ea4006395”},“NumberOfBeds”:“6”,“可用”:4, “BayId”:{“$oid”:“5be1d5fbbb2c561bb4007837”}},{“RoomId”: “35cd9b4c-15a4-53fd-ba8d-6096883dd1c4”,“楼层数”:“1”, “RoomNumber”:“106”,“RoomCreation”:“手动”,“RoomType”:{“$oid”: “5b44ca27bb2c563ea4006395”},“NumberOfBeds”:“5”,“可用”:“5”, “BayId”:{“$oid”:“5be1d5fbbb2c561bb4007837”}},{“RoomId”: “cfb4913d-ea28-e52e-94db-36f72601650e”,“楼层数”:“1”, “房间号”:“104”,“房间创建”:“手动”,“房间类型”:{“$oid”: “5b44ca27bb2c563ea4006395”},“NumberOfBeds”:“6”,“可用”:“6”, “BayId”:{“$oid”:“5be1d5fbbb2c561bb4007837”}},{“RoomId”: “64d729fc-fbd5-5834-7820-be467af719f0”,“楼层数”:“1”, “RoomNumber”:“102”,“RoomCreation”:“手动”,“RoomType”:{“$oid”: “5b44ca2ebb2c563ea4006396”},“NumberOfBeds”:“7”,“可用”:“7”, “BayId”:{“$oid”:“5be1d5fbbb2c561bb4007837”}}]
【问题讨论】:
-
您对
array_column的使用不会以您期望的方式工作。它将返回一个数组,其中包含一个以NumberOfBeds为值的数字键(即[0] = "2", [1] = "3")