false, 'B1'=>true, 'C'=>"",">
当前位置:Gxlcms > PHP教程 > php数组array_filter函数和array_slice函数

php数组array_filter函数和array_slice函数

时间:2021-07-01 10:21:17 帮助过:2人阅读

  1. /*
  2. array_filter()用回调函数过滤数组中的单元
  3. array_filter(array,function)
  4. 参数描述:如果自定义过滤函数返回 true,则被操作的数组的当前值就会被包含在返回的结果数组中,
  5. 并将结果组成一个新的数组,如果原数组是一个关联数组,键名保持不变。
  6. */
  7. function delEmpty($val) {
  8. if ($val === "" || $val === "php") { //当数组中存在空值和php值时,换回false,也就是去掉该数组中的空值和php值
  9. return false;
  10. }
  11. return true;
  12. }
  13. $input_array = array('A'=>"Java",
  14. 'B'=>false,
  15. 'B1'=>true,
  16. 'C'=>"",
  17. 'D'=>" ",
  18. 'E'=>null,
  19. 'G'=>0,
  20. 'G1'=>'0',
  21. 'H'=>'php');
  22. print_r(array_filter($input_array));
  23. print_r(array_filter($input_array, "delEmpty"));
  24. ?>
  25. 没有回调函数的运行结果:

    可以看出,false,null,和真正的''空白以及0都被过滤了,而且数组的下标没有改变.

    有回调函数的运行结果:

    1. /**
    2. * array_slice()函数 从数组中取出一段
    3. * array_slice(array array, int offset[, int length])
    4. * 根据 offset 和 length 参数所指定的 array 数组中的一段序列。
    5. * offset 表示开始位置,length表示这段序列的长度.
    6. * true 键不改变
    7. */
    8. $input = array("Java", "Php",
    9. "C++", "C#",
    10. "Ruby", "Object-c");
    11. $outputA = array_slice($input, 2); // returns "C++", "C#", "Ruby", "Object-c"
    12. $outputB = array_slice($input, -2, 1); // returns "Ruby"
    13. $outputC = array_slice($input, 1, 3); // returns "Php", "C++", "C#"
    14. print_r($outputA);
    15. print_r($outputB);
    16. print_r($outputC);
    17. print_r(array_slice($input, 2, -1, true));
    18. print_r(array_slice($input, 2, -1));
    19. ?>
    // 运行后 进行查看结果 php数组array_filter函数和array_slice函数

以上就介绍了 php数组array_filter函数和array_slice函数,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

人气教程排行