我有一个 JSON(A行),如下所示,我要在其中计算JSON对象数组中的项目数。
$fp = fopen('../feeds/ptp-ess_landing.json', 'w');
fwrite($fp, json_encode($output));
fclose($fp);
logActivity();
if(file_exists('../feeds/ptp-ess_landing.json')){
$data = json_decode(file_get_contents('../feeds/ptp-ess_landing.json'));
}
{"toggle_multi_tiles":["0","1"]} // Line A
此刻为2。也可以是3,有时是4。
这是我尝试过的:
$data->toggle_multi_tiles.length; // Line B
执行echo $data->toggle_multi_tiles.length;
时会返回Arraylength
,这不是我得到的正确输出。
问题陈述:
我想知道应该在上面的B行的php代码中进行哪些更改,以使其返回2。
答案 0 :(得分:2)
使用<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
<script id="sap-ui-bootstrap"
src="https://sapui5.hana.ondemand.com/resources/sap-ui-core.js"
data-sap-ui-theme="sap_fiori_3"
data-sap-ui-xx-bindingSyntax="complex"
data-sap-ui-resourceroots='{
"app": "./"
}'
data-sap-ui-oninit="module:sap/ui/core/ComponentSupport"
data-sap-ui-compatVersion="edge" data-sap-ui-async="true">
</script>
<script>
sap.ui.getCore().attachInit(function () {
sap.ui.require([
"sap/m/Shell",
"sap/ui/core/ComponentContainer",
"sap/ui/model/xml/XMLModel"
], function (Shell, ComponentContainer, XMLModel) {
new Shell({
app: new ComponentContainer({
height : "100%",
name : "App"
})
}
).placeAt("container");
var dataProfile = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<Profile Accessibility=\"false\" CREATED_BY=\"Administrator\" " +
"Country=\"US\" PRINCIPAL_CREATION_DATE=\"0001387234199378\" " +
"PRINCIPAL_MODIFY_DATE=\"0001564488020308\" locale=\"en_US\" uniquename=\"admin\"> " +
"<NavigationItems> " +
"<NavigationItem frame=\"\" label=\"OEE\" " +
"target=\"/XMII/CM/App/index.html\" /> " +
"<NavigationItem frame=\"\" label=\"Admin\" target=\"\"> " +
"<NavigationItem frame=\"\" label=\"Administrator\" target=\"\"> " +
"<NavigationItem frame=\"_blank\" label=\"Promoção\" " +
"target=\"/XMII/CM/link1.html\" /> " +
"<NavigationItem frame=\"_blank\" label=\"Label02\" " +
"target=\"/XMII/CM/link2.html\" /> " +
"<NavigationItem frame=\"_blank\" label=\"Label03\" " +
"target=\"/XMII/CM/link3.html\" /> " +
"<NavigationItem frame=\"_blank\" label=\"Label04\" " +
"target=\"/XMII/CM/link4.html\" /> " +
"<NavigationItem frame=\"_blank\" label=\"Label05\" " +
"target=\"/XMII/CM/link5.html\" /> " +
"</NavigationItem> " +
"</NavigationItem> " +
"</NavigationItems> " +
"</Profile>";
var oModel = new XMLModel();
oModel.setXML(dataProfile);
sap.ui.getCore().setModel(oModel,"Profile");
});
});
</script>
</head>
<body class="sapUiBody">
<div data-sap-ui-component data-name="app"
data-id="container" data-settings='{"id" : "mes"}'></div>
</body>
</html>
来计算PHP数组中的元素数量
SELECT
AccountFK,
CASE WHEN B.ContractType = 'Telecoms' Then B.TermFeeMethod END AS TelecomsTermMethod,
CASE WHEN B.ContractType = 'Broadband' Then B.TermFeeMethod END AS BroadbandTermMethod,
CASE WHEN B.ContractType = 'Mobile' Then B.TermFeeMethod END AS MobileTermMethod,
CASE WHEN B.ContractType = 'Water' Then B.TermFeeMethod END AS WaterTermMethod,
ROW_NUMBER () OVER (PARTITION BY B.AccountFK ,B.TermFeeMethod ORDER BY A.CreatedDate DESC) AS RowNo
FROM
CRM.Contract.TermFeeTransaction AS A
INNER JOIN ContractSnapshot AS B ON A.ContractFK = B.ContractID
WHERE
CAST(b.CreatedDate as date) between '20180101' and '20190812'
AND B.TermFeeMethod IS NOT NULL
AND ContractType IN
('Telecoms',
'Broadband',
'Mobile',
'Water')
and AccountFK = '12345'