Cloud Spanner Client - Class ArrayType (1.65.0)

Reference documentation and code samples for the Cloud Spanner Client class ArrayType.

Represents a Spanner SQL Query array type declaration.

Array types may usually be inferred. Types are only required if the array is nullable, or if it contains structs.

Example:

use Google\Cloud\Spanner\ArrayType;
use Google\Cloud\Spanner\Database;
use Google\Cloud\Spanner\SpannerClient;

$spanner = new SpannerClient();
$database = $spanner->connect('my-instance', 'my-database');

$arrayType = new ArrayType(Database::TYPE_STRING);

$res = $database->execute('SELECT @arrayParam as arrayValue', [
    'parameters' => [
        'arrayParam' => ['foo', 'bar', null]
    ],
    'types' => [
        'arrayParam' => $arrayType
    ]
])->rows()->current();

$firstValue = $res['arrayValue'][0]; // `foo`
// Arrays may contain structs.
use Google\Cloud\Spanner\ArrayType;
use Google\Cloud\Spanner\Database;
use Google\Cloud\Spanner\StructType;

$arrayType = new ArrayType(
    (new StructType)
        ->add('companyName', Database::TYPE_STRING)
        ->add('companyId', Database::TYPE_INT64)
);

Namespace

Google \ Cloud \ Spanner

Methods

__construct

Parameter
NameDescription
type int|string|null|Google\Cloud\Spanner\StructType

A value type code or nested struct definition. Accepted integer and string values are defined as constants on Google\Cloud\Spanner\Database, and are as follows: Database::TYPE_BOOL, Database::TYPE_INT64, Database::TYPE_FLOAT64, Database::TYPE_TIMESTAMP, Database::TYPE_DATE, Database::TYPE_STRING, Database::TYPE_NUMERIC, Database::TYPE_PG_NUMERIC and Database::TYPE_BYTES. Nested arrays are not supported in Cloud Spanner, and attempts to use Database::TYPE_ARRAY will result in an exception. If null is given, Google Cloud PHP will attempt to infer the array type.

type

Get the array value type.

Returns
TypeDescription
int|string|null

structType

Get the nested struct parameter type.

Returns
TypeDescription
Google\Cloud\Spanner\StructType|null