比如一个函数, 接收一个参数, 参数可以为数字, 也可以为数组. 如果为数组, 含义为批量处理这个数组中的每一个元素. 这个时候, 就转换数字为数组. 然后统一进行批量处理.
<?php function testFunc($arg){ if (is_array($arg)){ foreach ($arg as $x){ var_dump($x); } }else{ var_dump($arg); } }
其中var_dump就可以认为是我们要对参数进行的操作. 上边的函数中写了两次.
<?php function testFunc($arg){ $arg = (array)$arg; foreach ($arg as $x){ var_dump($x); } }
修改后, var_dump只写了一次. 结果跟上边的是一致的.
当然, 例子举的比较简单. 当场景比较复杂的时候, 比如可以接收很多个参数, 都可能是字符串或数组. 然后, 组合成二维数组批量处理. 采用这种方式可以大量减少代码量以及出bug的可能性.
PS: 如果是update数据表, 批量操作可以参考insert into … on duplicate key update..