1,unset使用后数据结构改变
foreach ($getBlockData as $i => $val) {
if (!in_array($val['tid'], $tid)) {
unset($getBlockData[$i]);
}
}
返回结果:
使用array_values函数解决返回结果为:
查看最后一条sql
//打印语句 dump( Db::table('table_name')->getLastSql());
2,array_column函数获取二维数组的某一个字段生成一个新的一维数组
=>想必大家都应该看到了我获取了title生成了一个新的以为数组、、
3,array_push的用法
$array = array('goods'=>null,'time'=>'11123');
array_push($array['goods'],'飞机');
print_r($array);
array_push($array['goods'][],'飞机');
print_r($array);
$array['goods'] ='飞机';
print_r($array);
echo PHP_EOL;
echo PHP_EOL;
echo PHP_EOL;
$array = array('goods'=>[],'time'=>'11123');
array_push($array['goods'],'飞机');
print_r($array);
array_push($array['goods'][],'飞机');
print_r($array);
$array['goods'] ='飞机';
print_r($array);
Array
(
[goods] =>
[time] => 11123
)
Array
(
[goods] => Array
(
[0] =>
)
[time] => 11123
)
Array
(
[goods] => 飞机
[time] => 11123
)
Array
(
[goods] => Array
(
[0] => 飞机
)
[time] => 11123
)
Array
(
[goods] => Array
(
[0] => 飞机
[1] =>
)
[time] => 11123
)
Array
(
[goods] => 飞机
[time] => 11123
)
当array_push的第一个参数不是数组的时候,值将一直无法被添加进去
官网上的说明:
说明
array_push ( array &$array
, mixed $value1
[, mixed $...
] ) : int
array_push() 将 array
当成一个栈,并将传入的变量压入 array
的末尾。array
的长度将根据入栈变量的数目增加。和如下效果相同:
<?php
$array[] = $var;
?>
并对每个传入的值重复以上动作。
Note: 如果用 array_push() 来给数组增加一个单元,还不如用 $array[] = ,因为这样没有调用函数的额外负担。
Note: 如果第一个参数不是数组,array_push() 将发出一条警告。这和 $var[] 的行为不同,后者会新建一个数组。
4.取整函数用法
floor(3.14159); // 3
floor(3.64159); // 3
floor(-3.64159); // -4
ceil(3.14159); // 4
ceil(3.64159); // 4
round(3.14159); // 3
round(3.64159); // 4
round(3.64159, 0); // 4
round(3.64159, 2); // 3.64
round(5.64159, 3); // 3.642
round(364159, -2); // 364200
intval(3.14159); // 3
intval(3.64159); // 3
intval('ruesin'); //0
echo intval((0.1+0.7)*10);//7 特殊情况
echo intval((0.2+0.6)*10);//8
echo intval((0.1+0.6)*10);//7