⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 007.phpt

📁 PHP v6.0 For Linux 运行环境:Win9X/ WinME/ WinNT/ Win2K/ WinXP
💻 PHPT
📖 第 1 页 / 共 2 页
字号:
--TEST--Test array_diff and array_diff_assoc behaviour--FILE--<?php$a = array(1,"big"=>2,3,6,3,5,3,3,3,3,3,3,3,3,3,3);$b = array(2,2,3,3,3,3,3,3,3,3,3,3,3,3,3);$c = array(-1,1);echo '$a='.var_export($a,TRUE).";\n";echo '$b='.var_export($b,TRUE).";\n";echo '$c='.var_export($c,TRUE).";\n";var_dump(array_diff($a,$b,$c));var_dump(array_diff_assoc($a,$b,$c));$a = array('a'=>2,'b'=>'some','c'=>'done','z'=>'foo','f'=>5,'fan'=>'fen',7=>18,9=>25,11=>42,12=>42,45=>42,73=>'foo',95=>'some','som3'=>'some','want'=>'wanna');$b = array('a'=>7,7=>18,9=>13,11=>42,45=>46,'som3'=>'some','foo'=>'some','goo'=>'foo','f'=>5,'z'=>'equal');$c = array(73=>'foo',95=>'some');echo '$a='.var_export($a,TRUE).";\n";echo '$b='.var_export($b,TRUE).";\n";echo '$c='.var_export($c,TRUE).";\n";echo "Results:\n\n";var_dump(array_diff($a,$b,$c));var_dump(array_diff_assoc($a,$b,$c));echo "-=-=-=-=-=-=-=-=- New functionality from 5.0.0 -=-=-=-=-=-=-=-\n";error_reporting(E_ALL);class cr {	private $priv_member;	public  $public_member;	function cr($val) {		$this->priv_member = $val;		$this->public_member = $val;	}	static function comp_func_cr($a, $b) {		if ($a->priv_member === $b->priv_member) return 0;		return ($a->priv_member > $b->priv_member)? 1:-1;	}}function comp_func($a, $b) {	if ($a === $b) return 0;	return ($a > $b)? 1:-1;}function comp_func_cr($a, $b) {	if ($a->public_member === $b->public_member) return 0;	return ($a->public_member > $b->public_member)? 1:-1;}/*$a = array(1,"big"=>2,3,6,3,5,3,3,3,3,3,3,3,3,3,3);$b = array(2,2,3,3,3,3,3,3,3,3,3,3,3,3,3);$c = array(-1,1);echo '$a='.var_export($a,TRUE).";\n";echo '$b='.var_export($b,TRUE).";\n";echo '$c='.var_export($c,TRUE).";\n";var_dump(array_diff($a,$b,$c));var_dump(array_diff_assoc($a,$b,$c));var_dump(array_udiff($a, $b, $c, "comp_func"));var_dump(array_diff_uassoc($a,$b,$c, "comp_func"));*//* $a = array(new cr(9),new cr(12),new cr(23),new cr(4),new cr(-15),); $b = array(new cr(9),new cr(22),new cr( 3),new cr(4),new cr(-15),); var_dump(array_udiff($a, $b, "comp_func_cr"));*/$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr( 3), 1=> new cr(4), 2 => new cr(-15),);echo '$a='.var_export($a,TRUE).";\n";echo '$b='.var_export($b,TRUE).";\n";echo 'var_dump(array_udiff_uassoc($a, $b, "comp_func_cr", "comp_func"));'."\n";var_dump(array_udiff_uassoc($a, $b, "comp_func_cr", "comp_func"));echo '$a='.var_export($a,TRUE).";\n";echo '$b='.var_export($b,TRUE).";\n";echo 'var_dump(array_udiff_uassoc($a, $b, array("cr", "comp_func_cr"), "comp_func"));'."\n";var_dump(array_udiff_uassoc($a, $b, array("cr", "comp_func_cr"), "comp_func"));echo '$a='.var_export($a,TRUE).";\n";echo '$b='.var_export($b,TRUE).";\n";echo 'var_dump(array_udiff($a, $b, "comp_func_cr"));'."\n";var_dump(array_udiff($a, $b, "comp_func_cr"));echo '$a='.var_export($a,TRUE).";\n";echo '$b='.var_export($b,TRUE).";\n";echo 'var_dump(array_udiff_assoc($a, $b, "comp_func_cr"));'."\n";var_dump(array_udiff_assoc($a, $b, "comp_func_cr"));?>--EXPECTF--$a=array (  0 => 1,  'big' => 2,  1 => 3,  2 => 6,  3 => 3,  4 => 5,  5 => 3,  6 => 3,  7 => 3,  8 => 3,  9 => 3,  10 => 3,  11 => 3,  12 => 3,  13 => 3,  14 => 3,);$b=array (  0 => 2,  1 => 2,  2 => 3,  3 => 3,  4 => 3,  5 => 3,  6 => 3,  7 => 3,  8 => 3,  9 => 3,  10 => 3,  11 => 3,  12 => 3,  13 => 3,  14 => 3,);$c=array (  0 => -1,  1 => 1,);array(2) {  [2]=>  int(6)  [4]=>  int(5)}array(5) {  [0]=>  int(1)  ["big"]=>  int(2)  [1]=>  int(3)  [2]=>  int(6)  [4]=>  int(5)}$a=array (  'a' => 2,  'b' => 'some',  'c' => 'done',  'z' => 'foo',  'f' => 5,  'fan' => 'fen',  7 => 18,  9 => 25,  11 => 42,  12 => 42,  45 => 42,  73 => 'foo',  95 => 'some',  'som3' => 'some',  'want' => 'wanna',);$b=array (  'a' => 7,  7 => 18,  9 => 13,  11 => 42,  45 => 46,  'som3' => 'some',  'foo' => 'some',  'goo' => 'foo',  'f' => 5,  'z' => 'equal',);$c=array (  73 => 'foo',  95 => 'some',);Results:array(5) {  ["a"]=>  int(2)  ["c"]=>  string(4) "done"  ["fan"]=>  string(3) "fen"  [9]=>  int(25)  ["want"]=>  string(5) "wanna"}array(9) {  ["a"]=>  int(2)  ["b"]=>  string(4) "some"  ["c"]=>  string(4) "done"  ["z"]=>  string(3) "foo"  ["fan"]=>  string(3) "fen"  [9]=>  int(25)  [12]=>  int(42)  [45]=>  int(42)  ["want"]=>  string(5) "wanna"}-=-=-=-=-=-=-=-=- New functionality from 5.0.0 -=-=-=-=-=-=-=-$a=array (  '0.1' =>   cr::__set_state(array(     'priv_member' => 9,     'public_member' => 9,  )),  '0.5' =>   cr::__set_state(array(     'priv_member' => 12,     'public_member' => 12,  )),  0 =>   cr::__set_state(array(     'priv_member' => 23,     'public_member' => 23,  )),  1 =>   cr::__set_state(array(     'priv_member' => 4,     'public_member' => 4,  )),  2 =>   cr::__set_state(array(     'priv_member' => -15,     'public_member' => -15,  )),);$b=array (  '0.2' =>   cr::__set_state(array(     'priv_member' => 9,     'public_member' => 9,  )),  '0.5' =>   cr::__set_state(array(     'priv_member' => 22,     'public_member' => 22,  )),  0 =>   cr::__set_state(array(     'priv_member' => 3,     'public_member' => 3,  )),  1 =>   cr::__set_state(array(     'priv_member' => 4,     'public_member' => 4,  )),  2 =>   cr::__set_state(array(     'priv_member' => -15,     'public_member' => -15,  )),);var_dump(array_udiff_uassoc($a, $b, "comp_func_cr", "comp_func"));array(3) {  ["0.1"]=>  object(cr)#%d (2) {    ["priv_member":"cr":private]=>    int(9)    ["public_member"]=>    int(9)  }  ["0.5"]=>  object(cr)#%d (2) {    ["priv_member":"cr":private]=>    int(12)    ["public_member"]=>    int(12)  }  [0]=>  object(cr)#%d (2) {    ["priv_member":"cr":private]=>    int(23)    ["public_member"]=>    int(23)  }}$a=array (  '0.1' =>   cr::__set_state(array(     'priv_member' => 9,     'public_member' => 9,  )),  '0.5' =>   cr::__set_state(array(     'priv_member' => 12,     'public_member' => 12,  )),  0 =>   cr::__set_state(array(     'priv_member' => 23,     'public_member' => 23,  )),  1 =>   cr::__set_state(array(     'priv_member' => 4,     'public_member' => 4,  )),  2 =>   cr::__set_state(array(     'priv_member' => -15,     'public_member' => -15,  )),);$b=array (  '0.2' =>   cr::__set_state(array(     'priv_member' => 9,     'public_member' => 9,  )),  '0.5' =>   cr::__set_state(array(     'priv_member' => 22,     'public_member' => 22,  )),  0 =>   cr::__set_state(array(     'priv_member' => 3,     'public_member' => 3,  )),  1 =>   cr::__set_state(array(     'priv_member' => 4,     'public_member' => 4,  )),  2 =>   cr::__set_state(array(     'priv_member' => -15,     'public_member' => -15,  )),);var_dump(array_udiff_uassoc($a, $b, array("cr", "comp_func_cr"), "comp_func"));array(3) {  ["0.1"]=>  object(cr)#%d (2) {    ["priv_member":"cr":private]=>    int(9)    ["public_member"]=>    int(9)  }  ["0.5"]=>  object(cr)#%d (2) {    ["priv_member":"cr":private]=>    int(12)    ["public_member"]=>    int(12)  }  [0]=>  object(cr)#%d (2) {    ["priv_member":"cr":private]=>    int(23)    ["public_member"]=>    int(23)  }}$a=array (  '0.1' =>   cr::__set_state(array(     'priv_member' => 9,     'public_member' => 9,  )),  '0.5' =>   cr::__set_state(array(     'priv_member' => 12,     'public_member' => 12,  )),  0 =>   cr::__set_state(array(     'priv_member' => 23,     'public_member' => 23,  )),  1 =>   cr::__set_state(array(     'priv_member' => 4,     'public_member' => 4,  )),  2 =>   cr::__set_state(array(     'priv_member' => -15,     'public_member' => -15,  )),);$b=array (  '0.2' =>   cr::__set_state(array(     'priv_member' => 9,     'public_member' => 9,  )),  '0.5' =>   cr::__set_state(array(     'priv_member' => 22,     'public_member' => 22,  )),  0 =>   cr::__set_state(array(     'priv_member' => 3,     'public_member' => 3,  )),  1 =>   cr::__set_state(array(     'priv_member' => 4,     'public_member' => 4,  )),  2 =>   cr::__set_state(array(     'priv_member' => -15,     'public_member' => -15,  )),);var_dump(array_udiff($a, $b, "comp_func_cr"));array(2) {  ["0.5"]=>  object(cr)#%d (2) {    ["priv_member":"cr":private]=>    int(12)    ["public_member"]=>    int(12)  }  [0]=>  object(cr)#%d (2) {    ["priv_member":"cr":private]=>    int(23)    ["public_member"]=>    int(23)  }}$a=array (  '0.1' =>   cr::__set_state(array(     'priv_member' => 9,     'public_member' => 9,  )),  '0.5' =>   cr::__set_state(array(     'priv_member' => 12,     'public_member' => 12,  )),  0 =>   cr::__set_state(array(     'priv_member' => 23,     'public_member' => 23,  )),  1 =>   cr::__set_state(array(

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -