使用php某些函数的注意事项(unset,array_column,array_push)

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值