Cloud Spanner Client - Class ArrayType (1.96.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
Name Description
type int|string|null|StructType

A value type code or nested struct definition. Accepted integer and string values are defined as constants on 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
Type Description
int|string|null

structType

Get the nested struct parameter type.

Returns
Type Description
StructType|null