所以,我正在尝试显示利润和支出在图表上呈现的图表。如果图表中没有利润和支付值,那么它应该显示为0.
我有一个数组,其中包含利润和支出的小时值。现在我想用现有的0值数组替换该数组。
这是我的代码
$a1=array();
for($i=0,$i<=24,$i++){
$a1['hour']=$i;
$a1['payout']='0';
$a1['profit']='0';
}
$a2=array();
$a2['hour']='2';
$a2['profit']='300';
$a2['payout']='100';
print_r(array_replace($a1,$a2));
此代码有问题。任何人都可以告诉我我做错了什么吗?
答案 0 :(得分:1)
<?php
// Initial array
$a1=array();
for($i=0;$i<=24;$i++){
// Use hour as index of array, if you use $a2[] = array(), it works
// But problem is when you change hours, lets say 12-24, if will cause problem
$a1[$i] = array(
'hour'=> $i,
'payout'=> 0,
'profit'=> 0
);
}
// Array from database
$a2=array();
$a2[] = array(
'hour'=> 2,
'payout'=> 300,
'profit'=> 100
);
$a2[] = array(
'hour'=> 5,
'payout'=> 3500,
'profit'=> 1200
);
echo '<pre>';
// Loop through second array and check if it is there in first one.
foreach( $a2 as $item) {
if(isset($a1[$item['hour']])) {
// Replace the values
$a1[$item['hour']] = $item;
}
}
print_r($a1);
?>
你正在以错误的方式使用for循环,SyntaxError
for($i=0;$i<=24;$i++){ // <= See semi colons
}
答案 1 :(得分:0)
首先,你的For Loop是不正确的!你必须更换&#34;,&#34;用&#34;;&#34;
答案 2 :(得分:0)
您的程序中出现语法错误。
你的工作程序看起来应该是这样的
$a1=array();
for($i=0;$i<=24;$i++){
$a1['hour']=$i;
$a1['payout']='0';
$a1['profit']='0';
}
$a2=array();
$a2['hour']='2';
$a2['profit']='300';
$a2['payout']='100';
print_r(array_replace($a1,$a2));
希望这有帮助!