ホームページ > バックエンド開発 > PHPの問題 > PHP で array_diff_ukey() 関数を使用するにはどうすればよいですか?

PHP で array_diff_ukey() 関数を使用するにはどうすればよいですか?

醉折花枝作酒筹
リリース: 2023-03-10 12:38:01
オリジナル
1757 人が閲覧しました

この記事では、PHP の「array_diff_ukey()」関数の使い方を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

PHP で array_diff_ukey() 関数を使用するにはどうすればよいですか?

array_diff_ukey() 関数は、PHP の組み込み関数です。これは、ユーザー定義関数を使用して 2 つ以上のキーの配列を比較するために使用され、array1 であり、他の array2、array3、またはそれ以上が存在しない配列を返します...

構文は次のとおりです。

array_diff_ukey($array1, $array2, $array3..., arr_diffukeyFunction)
ログイン後にコピー

パラメータの使用: この関数は少なくとも 3 つのパラメータを受け入れますが、3 つのパラメータはすべて必須で、1 つはオプションです。パラメータは次のように説明されます。

  • #$ array1 (必須): この配列は他の配列と比較されます (たとえば、この配列は array1 と比較されます)。

  • $ array2 (必須): 最初の配列と比較される配列。

  • $ array3 (オプション): 最初の配列と比較される配列。

arr_diffukeyFunction (必須): これは必須のユーザー定義関数です。比較関数を呼び出すことができる文字列を定義します。最初の引数が 2 番目の引数より大きい場合、比較関数は 0 より大きい整数を返します。

戻り値: 他の配列には存在しない array1 のエントリを含む配列を返します (例: -(arra2, arar3, 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: 2 つの配列 (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: 3 つの配列 (array1、array2、arra3) を取得し、user-キー比較関数(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) が 1 つだけ使用され、ユーザー定義のキー比較関数 (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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート