zoukankan      html  css  js  c++  java
  • Functions should do one thing一个函数应该只做一件事

    if you take nothing else away from this guide other than this,
    you'll be ahead of many developers.
    如果你不离开这个指南,除此之外,你将超越大多数的开发者。


    1、array_walk 使用用户自定义函数对数组中的每个元素做回调处理
    array_walk(array &$array,callable $callback[,mixed $userdata = NULL])
    将用户自定义函数funcname应用到array数组中的每个单元。
    array_walk()不会受到array内部数组指针的影响。
    array_walk()会遍历整个数组而不管指针的位置。
    它的参数
    1》array 输入的数组。
    2》callback 典型情况下callback接受两个参数。
    (array参数的值作为第一个,键名作为第二个)
    如果callback需要直接作用于数组中的值,则给callback的
    第一个参数指定为引用。这样任何对这些单元的改变也将会
    改变原始数组本身。
    参数数量超过预期,传入内置函数(例如strtolower()),将抛出警告,
    所以不适合当做funcname.
    只有array的值才可以被改变,用户不应在回调函数中改变该数组本身
    的结构。例如增加/删除单元,unset单元等等。如果array_walk()作用
    的数组改变了,则此函数的行为未经定义,且不可预期。
    3》userdata
    如果提供了可选参数userdata,将被作为第三个参数传递给callback funcname
    它的返回值
    成功返回true,失败返回false.



    2、array_filter
    array_filter用回调函数过滤数组中的单元
    array array_filter(array $array[,callable $callback[,int $flag=0]])
    依次将array数组中的每个值传递到callback函数。
    如果callback函数返回true,则array数组的当前值会被包含在返回
    的结果数组中。数组的键名保留不变。
    它的参数
    1》array
    要循环的数组
    2》callback
    使用的回调函数
    如果没有提供callback函数,将删除array中所有等值为
    false的条目。
    3》flag
    决定callback接收的参数形式
    ARRAY_FILTER_USE_KEY-callback接受键名作为的唯一参数
    ARRAY_FILTER_USE_BOTH-callback同时接受键名和键值
    它的返回值
    返回过滤后的数组
    5.6版本添加可选的参数flag,以及常量ARRAY_FILTER_USE_KEY
    和ARRAY_FILTER_USE_BOTH

    不使用callback的array_filter(),自动过滤值为false,null,''的键值对

    带flag标记的array_filter()

    Caution警告: 用户不应在回调函数中修改数组本身。
    例如增加/删除单元或者对array_filter()正在作用的
    数组进行unset。如果数组改变了,此函数的行为将不可预测

  • 相关阅读:
    FastAPI 学习之路(十)请求体的字段
    FastAPI 学习之路(九)请求体有多个参数如何处理?
    FastAPI 学习之路(八)路径参数和数值的校验
    FastAPI 学习之路(七)字符串的校验
    FastAPI 学习之路(六)查询参数,字符串的校验
    【2021-09-09】被人说自大是有原因的
    【2021-09-08】连岳摘抄
    【2021-09-07】管理工作,得上下同步
    【2021-09-06】连岳摘抄
    【2021-09-05】连岳摘抄
  • 原文地址:https://www.cnblogs.com/guoyinglichong/p/7520368.html
Copyright © 2011-2022 走看看