Cloud Spanner Client - Class ArrayType (2.6.0)
Stay organized with collections
Save and categorize content based on your preferences.
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(['projectId' => 'my-project']);
$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)
);
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_NUMERICDatabase::TYPE_BYTES, and Database::TYPE_PROTO. 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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2026-03-18 UTC."],[],[]]