PHP:第四章——PHP数组array_diff计算数组差集
生活随笔
收集整理的這篇文章主要介紹了
PHP:第四章——PHP数组array_diff计算数组差集
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
<pre>
<?php
header("Content-Type:text/html;charset=utf-8");
/*知識點一:array_diff — 計算數組的差集
原形:array array_diff ( array $array1 , array $array2 [, array $... ] )
功能:對比返回在 array1 中但是不在 array2 及后面參數數組中的值。
返回:返回一個數組,該數組包括了所有在 array1 中但是不在任何其它參數數組中的值。
注意:返回的數組鍵名保留不變。
應用背景案例分析:
假設我們做一個郵件群發系統,郵件都在數組 $a中保留。
如果有本次我們不想發送給其中特定的幾個郵箱,沒必要從$a中刪除,因為下次還有添加比較麻煩。
處理方法:在做一個數組$b,讓系統自動差集計算,不對在$b中包含的幾個用戶發郵件,其他都發送。*/
//例:
/*$a = range(1,9); //創建一個包含 1,2,3,4,5,6,7,8,9 的數組
$b = array(5,6,1); //計劃排除其中的 1,5,6
$c = array_diff($a,$b); //結果為 2,3,4,7,8,9*/ //例:
$a = array('動', '美', '學', '院');
$b = array('a'=>'學','美');
$c = array_diff($a,$b);
var_export($c); //結果為 動 院/*知識點二:array_diff_assoc — 帶索引檢查計算數組的差集
函數原形:array array_diff_assoc ( array $array1 , array $array2 [, array $... ] )
功能:計算差集,要求鍵值對完全相同的才進行減去。
返回:返回一個數組,該數組包括了所有在 array1 中但是不在任何其它參數數組中的"鍵值對"
*/
$a = array('d' => '動', 'l' => '美', 'x' => '學', 'y' => '院');
$b = array('l' => '美','a' => '動' );
$c = array_diff_assoc($a,$b);
var_export($c);
//結果:array ( 'd' => '動', 'x' => '學', 'y' => '院', )/*知識點三:array_diff_key — 使用鍵名比較計算數組的差集
函數原形:array array_diff_key ( array $array1 , array $array2 [, array $... ] )
根據 array1 中的鍵名和 array2 進行比較,返回不同鍵名的項。
本函數和 array_diff() 相同只除了比較是根據鍵名而不是值來進行的。
*/
$a = array('d' => '動', 'l' => '美', 'x' => '學', 'y' => '院');
$b = array('d' => '學','l' => '美');
$c = array_diff_key($a,$b);
var_export($c); //結果:array ( 'x' => '學', 'y' => '院', )/*目前關于array_diff的函數及變種一共有八個分別如下,比較實用的有三個
array_diff_assoc — 帶索引檢查計算數組的差集
array_diff_key — 使用鍵名比較計算數組的差集
array_diff_uassoc — 用用戶提供的回調函數做索引檢查來計算數組的差集
array_diff_ukey — 用回調函數對鍵名比較計算數組的差集
array_diff — 計算數組的差集
array_udiff_assoc — 帶索引檢查計算數組的差集,用回調函數比較數據
array_udiff_uassoc — 帶索引檢查計算數組的差集,用回調函數比較數據和索引
array_udiff — 用回調函數比較數據來計算數組的差集
*/?>
?
總結
以上是生活随笔為你收集整理的PHP:第四章——PHP数组array_diff计算数组差集的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Marble原理之线程中断
- 下一篇: 字符串中最后一个词组的长度 Length