# FFI::cast

(PHP 7 >= 7.4.0)

FFI::cast — Performs a C type cast

### Description

public static FFI::cast ( mixed `$type` , FFI\CData `&$ptr` ) : FFI\CData
public FFI::cast ( mixed `$type` , FFI\CData `&$ptr` ) : FFI\CData

FFI::cast() creates a new FFI\CData object, that references the same C data structure, but is associated with a different type. The resulting object does not own the C data, and the source `ptr` must survive the result. The C type may be specified as a string with any valid C type declaration or as FFI\CType object, created before. If this method is called statically, it must only use predefined C type names (e.g. int, char, etc.); if the method is called as instance method, any type declared for the instance is allowed.

### Parameters

`type`

  A valid C declaration as string, or an instance of FFI\CType which has already been created.

`ptr`

  The handle of the pointer to a C data structure.

### Return Values

Returns the freshly created FFI\CData object.