Conversión a array

Para cualquiera de los tipos: integer, float, string, boolean y resource, convertir un valor a un array resulta en un array con un solo elemento, con índice 0, y el valor del escalar que fue convertido. En otras palabras, (array)$scalarValue es exactamente lo mismo que array($scalarValue).
Si convierte un object a un array, el resultado es un array cuyos elementos son las propiedados del object. Las keys son los nombres de las variables miembro, con algunas excepciones notables: las variables privadas tienen el nombre de la clase al comienzo del nombre de la variable; las variables protegidas tienen un caracter '*' al comienzo del nombre de la variable. Estos valores adicionados al inicio tienen bytes nulos a los lados. Esto puede resultar en algunos comportamientos inesperados:
<?php
class 
{
    private 
$A
//  Este campo se convertirá en '\0A\0A'}

class 
extends 
{
    private 
$A
// Este campo se convertirá en '\0B\0A'
    
public $AA
// Este campo se convertirá en 'AA'}
var_dump((array) new B
());?>
En el ejemplo anterior parecerá que se tienen dos claves llamadas 'AA', aunque en realidad una de ellas se llama '\0A\0A'.
Si convierte un valor NULL a array, obtiene un array vacío.