• 技术文章 >后端开发 >PHP问题

    PHP如何使用array_diff_ukey()函数?

    醉折花枝作酒筹醉折花枝作酒筹2021-06-18 17:48:34原创96
    本篇文章给大家介绍一下PHP使用“array_diff_ukey()”函数的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

    array_diff_ukey()函数是PHP中的内置函数。它用于使用用户定义的函数比较键的两个或多个数组, 并返回一个数组, 该数组为array1, 并且不存在其他任何array2, array3或更多…

    语法如下:

    array_diff_ukey($array1, $array2, $array3..., arr_diffukeyFunction)

    使用参数:此函数接受最少三个参数, 而所有三个参数都是必需的, 另一个是可选的。参数说明如下:

    arr_diffukeyFunction(强制性): 这是必需的用户定义功能。定义可调用比较功能的字符串。如果第一个参数大于第二个参数, 则比较函数返回一个大于0的整数。

    返回值:返回一个数组, 其中包含array1中其他数组中不存在的条目, 例如:-( arra2, arra3, arar4….more)。如果所有值都存在于其他数组中, 则该函数返回NULL。返回值类型是一个数组。

    范例1:

    Input: 
    $arr1 = array("one"=>"C Program", "two"=>"PHP Program", "three"=>"Java Program ");
    $arr2 = array("one"=>"Java Program", "two"=>"C++ Program", "six"=>"Java Program");
    
    Output: 
    Array
    (
        [three] => Java Program 
    )
    
    Explanation: First two values of arr1 are matched with arr2 and last value 
                 not matched so the function returns last value.

    范例2:

    Input: 
    $arr1=array("one"=>"C Program", "two"=>"PHP Program", "three"=>"Java Program ");
    $arr2=array("one"=>"Java Program", "two"=>"C++ Program", "three"=>"Java Program");
    
    Output: 
    Array
    (
    )
    
    Explanation: All values are matched with arr2 so function return null values.

    让我们以一个例子来了解array_diff_ukey()函数。

    程序1:获取两个数组(array1和array2)并使用用户定义的键比较函数(diffukeyFunction)。

    PHP语言的简单解决方案:

    <?php
      
    // Program of array_diff_ukey function in PHP
      
    function arr_diffukeyFunction( $one , $two )
    {
         if ( $one === $two ) {
             return 0;
         }
         return ( $one > $two ) ? 1 : -1;
    }
      
    // Driver Code 
      
    $arr1 = array (
         "one" => "C Program" , "two" => "PHP Program" , "three" => "Java Program "
    );
    $arr2 = array (
         "one" => "Java Program" , "two" => "C++ Program" , "six" => "Java Program"
    );
      
    $result = array_diff_ukey ( $arr1 , $arr2 , "arr_diffukeyFunction" );
    print_r( $result );
    ?>

    输出如下:

    Array
    (
        [three] => Java Program 
    )

    程序2:获取三个数组(array1, array2和arra3), 并使用用户定义的键比较函数(diffukeyFunction)。

    <?php
      
    // Program of array_diff_ukey function in PHP
      
    function arr_diffukeyFunction( $one , $two )
    {
         if ( $one === $two ) {
             return 0;
         }
         return ( $one > $two ) ? 1 : -1;
    }
      
    // Driver Code 
      
    $arr1 = array (
         "one" => "C Program" , "two" => "PHP Program" , "three" => "Java Program "
    );
    $arr2 = array (
         "one" => "XML Program" , "two" => "C++ Program" , "four" => "CSS Program"
    );
    $arr3 = array (
         "five" => "MVC Program" , "six" => "C# Program" , "one" => "ASP .NET Program"
    );
      
    $result = array_diff_ukey ( $arr1 , $arr2 , $arr3 , "arr_diffukeyFunction" );
    print_r( $result );
    ?>

    输出如下:

    Array
    (
        [three] => Java Program 
    )

    程序3:

    如果所有值在其他数组中都匹配, 则返回Null

    <?php
      
    // Program of array_diff_ukey function in PHP
    function arr_diffukeyFunction( $one , $two )
    {
         if ( $one === $two ) {
             return 0;
         }
         return ( $one > $two ) ? 1 : -1;
    }
      
    // Driver Code 
    $arr1 = array (
         "one" => "C Program" , "two" => "PHP Program"
    );
    $arr2 = array (
         "one" => "Java Program" , "two" => "C++ Program"
    );
      
    $result = array_diff_ukey ( $arr1 , $arr2 , "arr_diffukeyFunction" );
    print_r( $result );
    ?>

    输出如下:

    Array
    (
    )

    示例4:

    如果仅使用一个数组(array1), 并且使用用户定义的键比较函数(diffukeyFunction), 则没有输出, 并且给出" RUNTIME ERROR"警告消息。

    <?php
      
    //Program of array_diff_ukey function in PHP
      
    function arr_diffukeyFunction( $one , $two )
    {
         if ( $one === $two ) {
             return 0;
         }
         return ( $one > $two ) ? 1 : -1;
    }
      
    // Driver Code 
      
    $arr1 = array (
         "one" => "C Program" , "two" => "PHP Program" , "three" => "Java Program "
    );
      
    //take only one array
      
    $result = array_diff_ukey ( $arr1 , "arr_diffukeyFunction" );
    print_r( $result );
    ?>

    输出如下:

    No Output

    警告:

    PHP Warning:  array_diff_ukey(): at least 3 parameters are required, 2 given in /home/c0177af9f69e897ad93cc9855a9ae415.php on line 23

    推荐学习:php视频教程

    以上就是PHP如何使用array_diff_ukey()函数?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php 函数
    上一篇:PHP如何使用SplQueue::__construct()函数? 下一篇:如何使用PHP中的trait能力
    第16期线上培训班

    相关文章推荐

    • php strftime 乱码怎么办• php exec 没有返回值怎么办• php怎么实现换一批功能• php怎么实现数字转化成大写• 怎么使用web/phpstorm将本地代码实时自动同步到远程服务器• PHP如何使用SplQueue::__construct()函数?

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网