function sumShuzi($tree, $updateData = array()) {
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比江州网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式江州网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖江州地区。费用合理售后完善,10余年实体公司更值得信赖。
$sum = 0;
// foreach($tree as $key = $item) { //这句话有毒
foreach($tree as $key = $item) {
if(isset($item['children'])) {
$oldPshuzi = $tree[$key]['Pshuzi'];
$tree[$key]['Pshuzi'] = sumShuzi($item['children'], $updateData);
if($oldPshuzi != $tree[$key]['Pshuzi']) {
$updateData[$item['id']] = array($tree[$key]['Pshuzi'], $tree[$key]['Pname_ch']);
}
}
$sum += $tree[$key]['Pshuzi'];
}
return $sum;
}
$tree = json_decode('[{"id":"1","Pid":"0","Pname_ch":"\u6e20\u9053\u90e8","Pshuzi":"1638000","children":[{"id":"4","Pid":"1","Pname_ch":"\u9500\u552e\u4e8c\u90e8","Pshuzi":"895000","children":[{"id":"13","Pid":"4","Pname_ch":"\u5468\u7ecf\u7406","Pshuzi":"28","children":[{"id":"28","Pid":"13","Pname_ch":"\u6e56\u5357","Pshuzi":"158000"},{"id":"35","Pid":"13","Pname_ch":"\u65b0\u7586","Pshuzi":"19000"}]},{"id":"40","Pid":"4","Pname_ch":"\u9648\u7ecf\u7406","Pshuzi":"5000"}]}]}]', true);
//$tree是具有父子关系的数据树
sumShuzi($tree, $updateData);
foreach ($updateData as $id = $item) {
$sql = "update your_table set Pshuzi={$item[0]} where id={$id}";
mysqli_query($db, $sql); //$db是你的数据库连接结果
}
PHP
数据类型
PHP
支持八种原始类型(type)。
四种标量类型:
string(字符串)
integer(整型)
float(浮点型,也作
double
)
boolean(布尔型)
两种复合类型:
array(数组)
object(对象)
两种特殊类型:
resource(资源)
NULL(空)
查看变量类型
通过
gettype()
函数可以方便的查看某个变量的类型:
复制代码
代码如下:
?php$var_bool
=
TRUE;
//
a
boolean$var_str
=
"foo";
//
a
string$var_int
=
12;
//
an
integerecho
gettype($var_bool);
//
输出
booleanecho
gettype($var_str);
//
输出
stringecho
gettype($var_int);
//
输出
integer?
(PS:T不错的PHP
Q扣峮:276167802,验证:csl)
提示
由于历史原因,如果是
float
类型数据,gettype()
函数返回的是
double,而不是
float
。
如果想查看某个表达式的值和类型,请使用用
var_dump()
函数。
判断变量类型
如果想通过判断变量类型来确定下一步逻辑动作,不要使用
gettype()
,而使用
is_type
系列函数:
复制代码
代码如下:
?php$var_int
=
12;//
如果
$var_int
是
int
类型,这进行加法if
(is_int($var_int))
{
$var_int
=
$var_int+4;}echo
$var_int;
//
输出
16?
以上是本文关于PHP
数据类型的汇总,希望本文对广大php开发者有所帮助,感谢您阅读本文。
PHP要连接上百台或更多台服务器数据库的话,我想你还在是本地写一个数据专门来存放每一台服务器数据库的信息,然后用循环来连接,而每次连接一台服务然后把得到信息存在本地的数据库里,每隔30秒到50秒执行一次。时间长了,本地的数据库中就会有信息了,然后再读本地的数据库来统计
用考勤软件生成的。考勤流程步骤如下(不同版本方法弱有不同,但是流程差不多,适用于所有考勤系统):
考勤机上打考勤签到-----通过考勤软件采集数据进入考勤系统-----在考勤软件中需要签卡、排班(或自动抓班)、写请假单、与加班单的做好-----进行日考勤分析并对异常进行纠错确认-----月结时进行月考勤计算-----报表管理中浏览、导出或直接打印月考勤报表。