function test_fetch() { $data = array('post-1' => array('comments' => array('tags' => array('#foo', '#bar'))), 'post-2' => array('comments' => array('tags' => array('#baz')))); $expected = array(0 => array('tags' => array('#foo', '#bar')), 1 => array('tags' => array('#baz'))); $this->assertEquals($expected, Arr::fetch($data, 'comments')); $this->assertEquals($expected, wpdevsclub_array_fetch($data, 'comments')); $expected = array(array('#foo', '#bar'), array('#baz')); $this->assertEquals($expected, Arr::fetch($data, 'comments.tags')); $this->assertEquals($expected, wpdevsclub_array_fetch($data, 'comments.tags')); $this->assertEquals(array(), Arr::fetch($data, 'foo')); $this->assertEquals(array(), wpdevsclub_array_fetch($data, 'foo')); $this->assertEquals(array(), Arr::fetch($data, 'foo.bar')); $this->assertEquals(array(), wpdevsclub_array_fetch($data, 'foo.bar')); }
/** * Fetch a flattened array of a nested array element. * * @param array $array * @param string $key * @return array */ function wpdevsclub_array_fetch($array, $key) { return Arr::fetch($array, $key); }