Если в первом случае вы возвращаете необработанный массив PHP, это невозможно .
Вы можете сделать это так:
public static function fetch($key, $as_object = false)
{
//in $data you have your array
return ($as_object) ? (object)$data : $data;
}
myArray::fetch('site.meta.keywords'); //return array
myArray::fetch('site.meta.keywords', true); //return object
Или просто так:
$dataAsArray = myArray::fetch('site.meta.keywords');
$dataAsObject = (object)myArray::fetch('site.meta.keywords');