gpt4 book ai didi

javascript - 删除 php 数组中的空值

转载 作者:行者123 更新时间:2023-11-30 22:50:10 29 4
gpt4 key购买 nike

我的数据库如下,

date        income expenses maincat
2015-02-06 10000 salary
2015-02-05 500 bank charges
2015-02-05 300 rent
2015-02-01 500 bonus

我正在使用以下 sql 查询来获取数据库值。

$sql= mysqli_query($con,"SELECT maincat as label,income as value FROM transaction where date BETWEEN '$date1' AND '$date2' AND email='$user' GROUP BY maincat") or die ("error3");

它通过以下 php 查询,

$arr = array();
While($row1 = mysqli_fetch_assoc($sql)){
$arr[] = $row1;
}
$ar = array_values($arr);

它会像这样输出,

[{"label":"income","value":"10000"},{"label":"bank charges","value":""},{"label":"rent","value":""},{"label":"bonus","value":"500"}]     

然后我将该值传递给 java 脚本 (Morris.js),以在圆环图中显示它。但它不起作用。当有值时,

 [{"label":"income","value":"10000"},{"label":"bonus","value":"500"}] 

它工作正常。我不能将“”值设置为“0”,因为没有实际收入作为“银行费用”或“租金”(它们是费用)是否有任何方法可以删除此空值({“标签":"bank charges","value":""} ) 从上方输出,

 [{"label":"income","value":"10000"},{"label":"bonus","value":"500"}] 

和我的 morris.js 代码如下,

<script>
Morris.Donut({
element: 'donut',
resize : true,
data : <?php echo json_encode($ar); ?>,
backgroundColor: '#0011',
labelColor: 'black',
colors:[
'#A4A4A4','#FE2E64','#0B610B','#0B615E',
'#FF8000','#088A68','#4B8A08','#A9D0F5',
'#5F4C0B','#F3F781','#81BEF7','#04B431',
'#D7DF01','#BE85F7','#BE59F7','#BE81F7',
'#F4FA58','#0431B4','#D8D8D8','#4C0B5F',
'#086A87','#F7D358','#DF7401','#B18904',
'#045FB4',
],
});
</script>

谢谢你..

最佳答案

为什么不直接使用循环来过滤空项?

$legalArray = array();
foreach($ar as $item){
if(is_numeric($item['value']))
$legalArray[] = $item;
}

输出 $legalArray。

关于javascript - 删除 php 数组中的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28392064/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com