lithium\util\Set::contains PHP Method

contains() public static method

Determines if the array elements in $array2 are wholly contained within $array1. Works recursively.
public static contains ( array $array1, array $array2 ) : boolean
$array1 array First value.
$array2 array Second value.
return boolean Returns `true` if `$array1` wholly contains the keys and values of `$array2`, otherwise, returns `false`. Returns `false` if either array is empty.
    public static function contains(array $array1, array $array2)
    {
        if (!$array1 || !$array2) {
            return false;
        }
        foreach ($array2 as $key => $val) {
            if (!isset($array1[$key]) || $array1[$key] !== $val) {
                return false;
            }
            if (is_array($val) && !static::contains($array1[$key], $val)) {
                return false;
            }
        }
        return true;
    }

Usage Example

Beispiel #1
0
	public function testContains() {
		$a = array(
			0 => array('name' => 'main'),
			1 => array('name' => 'about')
		);
		$b = array(
			0 => array('name' => 'main'),
			1 => array('name' => 'about'),
			2 => array('name' => 'contact'),
			'a' => 'b'
		);

		$this->assertTrue(Set::contains($a, $a));
		$this->assertFalse(Set::contains($a, $b));
		$this->assertTrue(Set::contains($b, $a));
	}