[英]Unable to check object values in javascript json prepared from json encoded php array
[英]check the position of values in JSON object array in php
我有一个JSON(A行) ,如下所示。
$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
我想要的是
=>上面A行的JSON对象数组中的第一个值, animation-delay:0s;
被申请;被应用。
=>第二个值, animation-delay:4s;
被申请;被应用。
这是我尝试过的:
<?php
if($data->toggle_multi_tiles[0]) { /* For 1st element */
?>
.multi-tiles a:nth-of-type(1) {
animation-delay: 0s;
}
<?php } ?>
<?php
if($data->toggle_multi_tiles[1]) { /* For 2nd element */
?>
.multi-tiles a:nth-of-type(2) {
animation-delay: 4s;
}
<?php } ?>
问题陈述:
我已经使用上面的if-logic 将0sec的动画延迟应用于 JSON对象数组的第一个值,但是if条件将失败,因为“ 0”为false。 我想知道我应该在上面的php代码中进行哪些更改,以便
=>上面A行的JSON对象数组中的第一个值, animation-delay:0s;
被申请;被应用。
=>第二个值, animation-delay:4s;
被申请;被应用。
也许您应该遍历整个数组。
foreach ($data->toggle_multi_tiles as $i => $value) {
?>
.multi-tiles a:nth-of-type(<?php echo $i+1; ?>) {
animation-delay: <?php echo 4 * $value; ?>s;
}
因此,当数组元素为0
您将获得0s
;当数组元素为1
时,您将获得4s
;当数组元素为2
时,您将获得8s
,依此类推。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.