PHP如何使用array_diff_ukey()函数?

醉折花枝作酒筹
发布: 2021-06-08 17:27:18
原创
1805人浏览过

本篇文章给大家介绍一下php使用“array_diff_ukey()”函数的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

PHP如何使用array_diff_ukey()函数?

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

语法如下:

array_diff_ukey($array1, $array2, $array3..., arr_diffukeyFunction)
登录后复制

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

立即学习PHP免费学习笔记(深入)”;

  • $ array1(强制性):该数组将与其他数组进行比较(例如, 从array1比较该数组)。

  • $ array2(强制性): 数组与第一个数组相比。

  • $ array3(可选): 数组与第一个数组相比。

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速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:segmentfault网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号