arslanimamutdinov/iso-standard-utilities

v1.0.1 2022-03-20 15:56 UTC

This package is not auto-updated.

Last update: 2024-09-20 09:01:17 UTC


README

Code Coverage Badge

该组件提供通过属性支持搜索ISO标准原始数据的特性。

安装

composer require arslanimamutdinov/iso-standard-utilities

术语和指定

  • alpha2 - 双字母代码(推荐作为通用代码);
  • alpha3 - 三字母代码;
  • numericCodes - 数字代码;
  • name - 字符串名称。

组件部分描述

AttributeCode - 类,包含ISO属性常量。详细信息

  • AttributeCodes::ATTRIBUTE_ALPHA2 - 表示双字母代码属性;
  • AttributeCodes::ATTRIBUTE_ALPHA3 - 表示三字母代码属性;
  • AttributeCodes::ATTRIBUTE_NAME - 表示字符串名称格式属性;
  • AttributeCodes::ATTRIBUTE_NUMERIC_CODE - 表示三位数字代码(如果需要避免使用拉丁字母,这可能很有用)。

StandardSearchUtility - 类提供了一套处理原始数据标准的函数。

StandardSearchUtilityService - StandardSearchUtility的包装服务类。

getByAlpha2

public static function getByAlpha2(
    array $standardsData,
    string $alpha2
): ?array;
public function getByAlpha2(
    array $standardsData,
    string $alpha2
): ?array;

输入

  • $standardsData - 标准原始数据集数组;
  • $alpha2 - 双字母代码值;

返回:找到的标准原始数组数据,适用于输入双字母代码值(如果没有找到则为null)。

示例

$rawStandardsData = [
    [
        AttributeCodes::ATTRIBUTE_NAME => "Armenia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AM",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ARM",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "051",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Aruba",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AW",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ABW",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "533",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Australia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AU",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "AUS",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "036",
    ],
];

$result = StandardSearchUtility::getByAlpha2($rawStandardsData, 'AU');
var_dump($result);

array(4) {
  ["name"]=>
  string(9) "Australia"
  ["alpha2"]=>
  string(2) "AU"
  ["alpha3"]=>
  string(3) "AUS"
  ["numericCode"]=>
  string(3) "036"
}

$result = StandardSearchUtility::getByAlpha2($rawStandardsData, 'RU');
var_dump($result);

NULL

$service = new StandardSearchUtilityService();

$result = $service->getByAlpha2($rawStandardsData, 'AU');
var_dump($result);

array(4) {
  ["name"]=>
  string(9) "Australia"
  ["alpha2"]=>
  string(2) "AU"
  ["alpha3"]=>
  string(3) "AUS"
  ["numericCode"]=>
  string(3) "036"
}

$result = $service->getByAlpha2($rawStandardsData, 'RU');
var_dump($result);

NULL

getByAlpha3

public static function getByAlpha3(
    array $standardsData,
    string $alpha3
): ?array;
public function getByAlpha3(
    array $standardsData,
    string $alpha3
): ?array;

输入

  • $standardsData - 标准原始数据集数组;
  • $alpha3 - 三字母代码值;

返回:找到的标准原始数组数据,适用于输入三字母代码值(如果没有找到则为null)。

示例

$rawStandardsData = [
    [
        AttributeCodes::ATTRIBUTE_NAME => "Armenia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AM",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ARM",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "051",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Aruba",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AW",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ABW",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "533",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Australia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AU",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "AUS",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "036",
    ],
];

$result = StandardSearchUtility::getByAlpha3($rawStandardsData, 'ARM');
var_dump($result);

array(4) {
  ["name"]=>
  string(7) "Armenia"
  ["alpha2"]=>
  string(2) "AM"
  ["alpha3"]=>
  string(3) "ARM"
  ["numericCode"]=>
  string(3) "051"
}

$result = StandardSearchUtility::getByAlpha3($rawStandardsData, 'FOO');
var_dump($result);

NULL

$service = new StandardSearchUtilityService();

$result = $service->getByAlpha3($rawStandardsData, 'ARM');
var_dump($result);

array(4) {
  ["name"]=>
  string(7) "Armenia"
  ["alpha2"]=>
  string(2) "AM"
  ["alpha3"]=>
  string(3) "ARM"
  ["numericCode"]=>
  string(3) "051"
}

$result = $service->getByAlpha3($rawStandardsData, 'RUS');
var_dump($result);

NULL

getByNumericCode

public static function getByNumericCode(
    array $standardsData,
    string $numericCode
): ?array;
public function getByNumericCode(
    array $standardsData,
    string $numericCode
): ?array;

输入

  • $standardsData - 标准原始数据集数组;
  • $numericCode - 数字代码值;

返回:找到的标准原始数组数据,适用于输入数字代码值(如果没有找到则为null)。

$rawStandardsData = [
    [
        AttributeCodes::ATTRIBUTE_NAME => "Armenia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AM",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ARM",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "051",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Aruba",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AW",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ABW",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "533",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Australia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AU",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "AUS",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "036",
    ],
];

$result = StandardSearchUtility::getByNumericCode($rawStandardsData, '051');
var_dump($result);

array(4) {
  ["name"]=>
  string(7) "Armenia"
  ["alpha2"]=>
  string(2) "AM"
  ["alpha3"]=>
  string(3) "ARM"
  ["numericCode"]=>
  string(3) "051"
}

$result = StandardSearchUtility::getByNumericCode($rawStandardsData, '000');
var_dump($result);

NULL

$service = new StandardSearchUtilityService();

$result = $service->getByNumericCode($rawStandardsData, '051');
var_dump($result);

array(4) {
  ["name"]=>
  string(7) "Armenia"
  ["alpha2"]=>
  string(2) "AM"
  ["alpha3"]=>
  string(3) "ARM"
  ["numericCode"]=>
  string(3) "051"
}

$result = $service->getByNumericCode($rawStandardsData, '000');
var_dump($result);

NULL

getStandardsDataByAttributeCode

public static function getStandardsDataByAttributeCode(
    array $standardsData,
    string $attributeCode,
    string $value
): ?array;
public function getStandardsDataByAttributeCode(
    array $standardsData,
    string $attributeCode,
    string $value
): ?array;

输入

  • $standardsData - 标准原始数据集数组;
  • $attributeCode - 代码属性名称;
  • $value - 代码值

返回:找到的标准原始数组数据,适用于输入代码属性名称和代码值(如果没有找到则为null)。

$rawStandardsData = [
    [
        AttributeCodes::ATTRIBUTE_NAME => "Armenia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AM",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ARM",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "051",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Aruba",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AW",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ABW",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "533",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Australia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AU",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "AUS",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "036",
    ],
];

$result = StandardSearchUtility::getStandardsDataByAttributeCode($rawStandardsData, AttributeCodes::ATTRIBUTE_ALPHA2, 'AU');
var_dump($result);

array(4) {
  ["name"]=>
  string(9) "Australia"
  ["alpha2"]=>
  string(2) "AU"
  ["alpha3"]=>
  string(3) "AUS"
  ["numericCode"]=>
  string(3) "036"
}

$result = StandardSearchUtility::getStandardsDataByAttributeCode($rawStandardsData, AttributeCodes::ATTRIBUTE_ALPHA2, 'AUS');
var_dump($result);

NULL

$service = new StandardSearchUtilityService();

$result = $service->getStandardsDataByAttributeCode($rawStandardsData, AttributeCodes::ATTRIBUTE_ALPHA2, 'AU');
var_dump($result);

array(4) {
  ["name"]=>
  string(9) "Australia"
  ["alpha2"]=>
  string(2) "AU"
  ["alpha3"]=>
  string(3) "AUS"
  ["numericCode"]=>
  string(3) "036"
}

$result = $service->getStandardsDataByAttributeCode($rawStandardsData, AttributeCodes::ATTRIBUTE_ALPHA2, 'AUS');
var_dump($result);

NULL

existByAlpha2

public static function existByAlpha2(
    array $standardsData,
    string $alpha2
): bool;
public function existByAlpha2(
    array $standardsData,
    string $alpha2
): bool;

输入

  • $standardsData - 标准原始数据集数组;
  • $alpha2 - 双字母代码值;

返回:如果存在以双字母代码的标准原始数据则为true,如果不存在则为false。

$rawStandardsData = [
    [
        AttributeCodes::ATTRIBUTE_NAME => "Armenia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AM",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ARM",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "051",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Aruba",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AW",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ABW",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "533",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Australia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AU",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "AUS",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "036",
    ],
];

$result = StandardSearchUtility::existByAlpha2($rawStandardsData, 'AU');
var_dump($result);

bool(true)

$result = StandardSearchUtility::existByAlpha2($rawStandardsData, 'AUS');
var_dump($result);

bool(false)

$service = new StandardSearchUtilityService();

$result = $service->existByAlpha2($rawStandardsData, 'AU');
var_dump($result);

bool(true)

$result = $service->existByAlpha2($rawStandardsData, 'AUS');
var_dump($result);

bool(false)

existByAlpha3

public static function existByAlpha3(
    array $standardsData,
    string $alpha3
): bool;
public function existByAlpha3(
    array $standardsData,
    string $alpha3
): bool;

输入

  • $standardsData - 标准原始数据集数组;
  • $alpha3 - 三字母代码值;

返回:如果存在以三字母代码的标准原始数据则为true,如果不存在则为false。

$rawStandardsData = [
    [
        AttributeCodes::ATTRIBUTE_NAME => "Armenia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AM",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ARM",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "051",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Aruba",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AW",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ABW",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "533",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Australia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AU",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "AUS",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "036",
    ],
];

$result = StandardSearchUtility::existByAlpha3($rawStandardsData, 'AUS');
var_dump($result);

bool(true)

$result = StandardSearchUtility::existByAlpha3($rawStandardsData, 'AU');
var_dump($result);

bool(false)

$service = new StandardSearchUtilityService();

$result = $service->existByAlpha3($rawStandardsData, 'AUS');
var_dump($result);

bool(true)

$result = $service->existByAlpha3($rawStandardsData, 'AU');
var_dump($result);

bool(false)

existByNumericCode

public static function existByNumericCode(
    array $standardsData,
    string $numericCode
): bool;
public function existByNumericCode(
    array $standardsData,
    string $numericCode
): bool;

输入

  • $standardsData - 标准原始数据集数组;
  • $numericCode - 数字代码值;

返回:如果存在以数字代码的标准原始数据则为true,如果不存在则为false。

$rawStandardsData = [
    [
        AttributeCodes::ATTRIBUTE_NAME => "Armenia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AM",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ARM",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "051",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Aruba",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AW",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ABW",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "533",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Australia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AU",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "AUS",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "036",
    ],
];

$result = StandardSearchUtility::existByNumericCode($rawStandardsData, '036');
var_dump($result);

bool(true)

$result = StandardSearchUtility::existByNumericCode($rawStandardsData, '000');
var_dump($result);

bool(false)

$service = new StandardSearchUtilityService();

$result = $service->existByNumericCode($rawStandardsData, '036');
var_dump($result);

bool(true)

$result = $service->existByNumericCode($rawStandardsData, '000');
var_dump($result);

bool(false)

existByAttributeCode

public static function existByAttributeCode(
    array $standardsData,
    string $attributeCode,
    string $value
): bool;
public function existByAttributeCode(
    array $standardsData,
    string $attributeCode,
    string $value
): bool;

输入

  • $standardsData - 标准原始数据集数组;
  • $attributeCode - 代码属性名称;
  • $value - 代码值

返回:如果找到存在标准原始数组数据则为true,如果不存在则为false。

$rawStandardsData = [
    [
        AttributeCodes::ATTRIBUTE_NAME => "Armenia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AM",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ARM",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "051",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Aruba",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AW",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ABW",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "533",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Australia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AU",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "AUS",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "036",
    ],
];

$result = StandardSearchUtility::existByAttributeCode($rawStandardsData, AttributeCodes::ATTRIBUTE_ALPHA2, 'AU');
var_dump($result);

bool(true)

$result = StandardSearchUtility::existByAttributeCode($rawStandardsData, AttributeCodes::ATTRIBUTE_ALPHA2, 'foo');
var_dump($result);

bool(false)

$service = new StandardSearchUtilityService();

$result = $service->existByAttributeCode($rawStandardsData, AttributeCodes::ATTRIBUTE_ALPHA2, 'AU');
var_dump($result);

bool(true)

$result = $service->existByAttributeCode($rawStandardsData, AttributeCodes::ATTRIBUTE_ALPHA2, 'foo');
var_dump($result);

bool(false)

getAllNames

public static function getAllNames(
    array $standardsData
): array;
public function getAllNames(
    array $standardsData
): array;

输入

  • $standardsData - 标准原始数据集数组;

返回:标准名称字符串数组。

$rawStandardsData = [
    [
        AttributeCodes::ATTRIBUTE_NAME => "Armenia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AM",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ARM",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "051",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Aruba",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AW",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ABW",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "533",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Australia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AU",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "AUS",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "036",
    ],
];

$result = StandardSearchUtility::getAllNames($rawStandardsData);
var_dump($result);

array(3) {
  [0]=>
  string(7) "Armenia"
  [1]=>
  string(5) "Aruba"
  [2]=>
  string(9) "Australia"
}

$service = new StandardSearchUtilityService();

$result = $service->getAllNames($rawStandardsData);
var_dump($result);

array(3) {
  [0]=>
  string(7) "Armenia"
  [1]=>
  string(5) "Aruba"
  [2]=>
  string(9) "Australia"
}

getAllNumericCodes

public static function getAllNumericCodes(
    array $standardsData
): array;
public function getAllNumericCodes(
    array $standardsData
): array;

输入

  • $standardsData - 标准原始数据集数组;

返回:标准数字代码字符串数组。

$rawStandardsData = [
    [
        AttributeCodes::ATTRIBUTE_NAME => "Armenia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AM",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ARM",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "051",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Aruba",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AW",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ABW",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "533",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Australia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AU",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "AUS",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "036",
    ],
];

$result = StandardSearchUtility::getAllNumericCodes($rawStandardsData);
var_dump($result);

array(3) {
  [0]=>
  string(3) "051"
  [1]=>
  string(3) "533"
  [2]=>
  string(3) "036"
}

$service = new StandardSearchUtilityService();

$result = $service->getAllNumericCodes($rawStandardsData);
var_dump($result);

array(3) {
  [0]=>
  string(3) "051"
  [1]=>
  string(3) "533"
  [2]=>
  string(3) "036"
}

getAllAlpha3

public static function getAllAlpha3(
    array $standardsData
): array;
public function getAllAlpha3(
    array $standardsData
): array;

输入

  • $standardsData - 标准原始数据集数组;

返回:标准的Alpha3代码字符串数组。

$rawStandardsData = [
    [
        AttributeCodes::ATTRIBUTE_NAME => "Armenia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AM",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ARM",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "051",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Aruba",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AW",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ABW",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "533",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Australia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AU",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "AUS",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "036",
    ],
];

$result = StandardSearchUtility::getAllAlpha3($rawStandardsData);
var_dump($result);

array(3) {
  [0]=>
  string(3) "ARM"
  [1]=>
  string(3) "ABW"
  [2]=>
  string(3) "AUS"
}

$service = new StandardSearchUtilityService();

$result = $service->getAllAlpha3($rawStandardsData);
var_dump($result);

array(3) {
  [0]=>
  string(3) "ARM"
  [1]=>
  string(3) "ABW"
  [2]=>
  string(3) "AUS"
}

getAllAlpha2

public static function getAllAlpha2(
    array $standardsData
): array;
public function getAllAlpha2(
    array $standardsData
): array;

输入

  • $standardsData - 标准原始数据集数组;

返回:标准的Alpha2代码字符串数组。

$rawStandardsData = [
    [
        AttributeCodes::ATTRIBUTE_NAME => "Armenia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AM",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ARM",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "051",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Aruba",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AW",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ABW",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "533",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Australia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AU",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "AUS",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "036",
    ],
];

$result = StandardSearchUtility::getAllAlpha2($rawStandardsData);
var_dump($result);

array(3) {
  [0]=>
  string(2) "AM"
  [1]=>
  string(2) "AW"
  [2]=>
  string(2) "AU"
}

$service = new StandardSearchUtilityService();

$result = $service->getAllAlpha2($rawStandardsData);
var_dump($result);

array(3) {
  [0]=>
  string(2) "AM"
  [1]=>
  string(2) "AW"
  [2]=>
  string(2) "AU"
}

getAllAttributesByCode

public static function getAllAttributesByCode(
    array $standardsData,
    string $attributeCode
): array;
public function getAllAttributesByCode(
    array $standardsData,
    string $attributeCode
): array

输入

  • $standardsData - 标准原始数据集数组;
  • $attributeCode - 代码属性名称;

返回:通过属性代码名称搜索的标准属性代码值。

$rawStandardsData = [
    [
        AttributeCodes::ATTRIBUTE_NAME => "Armenia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AM",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ARM",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "051",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Aruba",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AW",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ABW",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "533",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Australia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AU",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "AUS",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "036",
    ],
];

$result = StandardSearchUtility::getAllAttributesByCode($rawStandardsData, AttributeCodes::ATTRIBUTE_ALPHA2);
var_dump($result);

array(3) {
  [0]=>
  string(2) "AM"
  [1]=>
  string(2) "AW"
  [2]=>
  string(2) "AU"
}

$service = new StandardSearchUtilityService();

$result = $service->getAllAttributesByCode($rawStandardsData, AttributeCodes::ATTRIBUTE_ALPHA2);
var_dump($result);

array(3) {
  [0]=>
  string(2) "AM"
  [1]=>
  string(2) "AW"
  [2]=>
  string(2) "AU"
}

getAllByAttributeCodeValues

public static function getAllByAttributeCodeValues(
    array $standardsData,
    string $attributeCode,
    array $values
): array;
public function getAllByAttributeCodeValues(
    array $standardsData,
    string $attributeCode,
    array $values
): array;

输入

  • $standardsData - 标准原始数据集数组;
  • $attributeCode - 代码属性名称;
  • $values - 代码值字符串数组;

返回:根据给定的代码属性名称和代码值字符串数组过滤的标准数组。

示例

$rawStandardsData = [
    [
        AttributeCodes::ATTRIBUTE_NAME => "Armenia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AM",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ARM",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "051",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Aruba",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AW",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ABW",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "533",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Australia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AU",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "AUS",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "036",
    ],
];

$result = StandardSearchUtility::getAllByAttributeCodeValues($rawStandardsData, AttributeCodes::ATTRIBUTE_ALPHA2, ['AU', 'AM']);
var_dump($result);

array(2) {
  [0]=>
  array(4) {
    ["name"]=>
    string(7) "Armenia"
    ["alpha2"]=>
    string(2) "AM"
    ["alpha3"]=>
    string(3) "ARM"
    ["numericCode"]=>
    string(3) "051"
  }
  [1]=>
  array(4) {
    ["name"]=>
    string(9) "Australia"
    ["alpha2"]=>
    string(2) "AU"
    ["alpha3"]=>
    string(3) "AUS"
    ["numericCode"]=>
    string(3) "036"
  }
}

$result = StandardSearchUtility::getAllByAttributeCodeValues($rawStandardsData, AttributeCodes::ATTRIBUTE_ALPHA2, ['AUS', 'ARM']);
var_dump($result);

array(0) {
}

$service = new StandardSearchUtilityService();

$result = $service->getAllByAttributeCodeValues($rawStandardsData, AttributeCodes::ATTRIBUTE_ALPHA2, ['AU', 'AM']);
var_dump($result);

array(2) {
  [0]=>
  array(4) {
    ["name"]=>
    string(7) "Armenia"
    ["alpha2"]=>
    string(2) "AM"
    ["alpha3"]=>
    string(3) "ARM"
    ["numericCode"]=>
    string(3) "051"
  }
  [1]=>
  array(4) {
    ["name"]=>
    string(9) "Australia"
    ["alpha2"]=>
    string(2) "AU"
    ["alpha3"]=>
    string(3) "AUS"
    ["numericCode"]=>
    string(3) "036"
  }
}

$result = $service->getAllByAttributeCodeValues($rawStandardsData, AttributeCodes::ATTRIBUTE_ALPHA2, ['AUS', 'ARM']);
var_dump($result);

array(0) {
}

getAllByAlpha2Values

public static function getAllByAlpha2Values(
    array $standardsData,
    array $values
): array;
public function getAllByAlpha2Values(
    array $standardsData,
    array $values
): array;

输入

  • $standardsData - 标准原始数据集数组;
  • $values - alpha2代码值字符串数组;

返回:根据给定的alpha2代码值字符串数组过滤的标准数组。

示例

$rawStandardsData = [
    [
        AttributeCodes::ATTRIBUTE_NAME => "Armenia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AM",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ARM",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "051",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Aruba",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AW",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ABW",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "533",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Australia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AU",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "AUS",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "036",
    ],
];

$result = StandardSearchUtility::getAllByAlpha2Values($rawStandardsData, ['AU', 'AM']);
var_dump($result);

array(2) {
  [0]=>
  array(4) {
    ["name"]=>
    string(7) "Armenia"
    ["alpha2"]=>
    string(2) "AM"
    ["alpha3"]=>
    string(3) "ARM"
    ["numericCode"]=>
    string(3) "051"
  }
  [1]=>
  array(4) {
    ["name"]=>
    string(9) "Australia"
    ["alpha2"]=>
    string(2) "AU"
    ["alpha3"]=>
    string(3) "AUS"
    ["numericCode"]=>
    string(3) "036"
  }
}

$result = StandardSearchUtility::getAllByAlpha2Values($rawStandardsData, ['AUS', 'ARM']);
var_dump($result);

array(0) {
}

$service = new StandardSearchUtilityService();

$result = $service->getAllByAlpha2Values($rawStandardsData, ['AU', 'AM']);
var_dump($result);

array(2) {
  [0]=>
  array(4) {
    ["name"]=>
    string(7) "Armenia"
    ["alpha2"]=>
    string(2) "AM"
    ["alpha3"]=>
    string(3) "ARM"
    ["numericCode"]=>
    string(3) "051"
  }
  [1]=>
  array(4) {
    ["name"]=>
    string(9) "Australia"
    ["alpha2"]=>
    string(2) "AU"
    ["alpha3"]=>
    string(3) "AUS"
    ["numericCode"]=>
    string(3) "036"
  }
}

$result = $service->getAllByAlpha2Values($rawStandardsData, ['AUS', 'ARM']);
var_dump($result);

array(0) {
}

getAllByAlpha3Values

public static function getAllByAlpha3Values(
    array $standardsData,
    array $values
): array;
public function getAllByAlpha3Values(
    array $standardsData,
    array $values
): array;

输入

  • $standardsData - 标准原始数据集数组;
  • $values - alpha3代码值字符串数组;

返回:根据给定的alpha3代码值字符串数组过滤的标准数组。

示例

$rawStandardsData = [
    [
        AttributeCodes::ATTRIBUTE_NAME => "Armenia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AM",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ARM",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "051",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Aruba",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AW",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ABW",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "533",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Australia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AU",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "AUS",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "036",
    ],
];

$result = StandardSearchUtility::getAllByAlpha3Values($rawStandardsData, ['AUS', 'ARM']);
var_dump($result);

array(2) {
  [0]=>
  array(4) {
    ["name"]=>
    string(7) "Armenia"
    ["alpha2"]=>
    string(2) "AM"
    ["alpha3"]=>
    string(3) "ARM"
    ["numericCode"]=>
    string(3) "051"
  }
  [1]=>
  array(4) {
    ["name"]=>
    string(9) "Australia"
    ["alpha2"]=>
    string(2) "AU"
    ["alpha3"]=>
    string(3) "AUS"
    ["numericCode"]=>
    string(3) "036"
  }
}

$result = StandardSearchUtility::getAllByAlpha3Values($rawStandardsData, ['AU', 'AM']);
var_dump($result);

array(0) {
}

$service = new StandardSearchUtilityService();

$result = $service->getAllByAlpha3Values($rawStandardsData, ['AUS', 'ARM']);
var_dump($result);

array(2) {
  [0]=>
  array(4) {
    ["name"]=>
    string(7) "Armenia"
    ["alpha2"]=>
    string(2) "AM"
    ["alpha3"]=>
    string(3) "ARM"
    ["numericCode"]=>
    string(3) "051"
  }
  [1]=>
  array(4) {
    ["name"]=>
    string(9) "Australia"
    ["alpha2"]=>
    string(2) "AU"
    ["alpha3"]=>
    string(3) "AUS"
    ["numericCode"]=>
    string(3) "036"
  }
}

$result = $service->getAllByAlpha3Values($rawStandardsData, ['AU', 'AM']);
var_dump($result);

array(0) {
}

getAllByNumericCodeValues

public static function getAllByNumericCodeValues(
    array $standardsData,
    array $values
): array;
public function getAllByNumericCodeValues(
    array $standardsData,
    array $values
): array;

输入

  • $standardsData - 标准原始数据集数组;
  • $values - 数字代码值字符串数组;

返回:根据给定的数字代码值字符串数组过滤的标准数组。

示例

$rawStandardsData = [
    [
        AttributeCodes::ATTRIBUTE_NAME => "Armenia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AM",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ARM",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "051",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Aruba",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AW",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ABW",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "533",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Australia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AU",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "AUS",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "036",
    ],
];

$result = StandardSearchUtility::getAllByNumericCodeValues($rawStandardsData, ['051', '036']);
var_dump($result);

array(2) {
  [0]=>
  array(4) {
    ["name"]=>
    string(7) "Armenia"
    ["alpha2"]=>
    string(2) "AM"
    ["alpha3"]=>
    string(3) "ARM"
    ["numericCode"]=>
    string(3) "051"
  }
  [1]=>
  array(4) {
    ["name"]=>
    string(9) "Australia"
    ["alpha2"]=>
    string(2) "AU"
    ["alpha3"]=>
    string(3) "AUS"
    ["numericCode"]=>
    string(3) "036"
  }
}

$result = StandardSearchUtility::getAllByNumericCodeValues($rawStandardsData, ['000', '111']);
var_dump($result);

array(0) {
}

$service = new StandardSearchUtilityService();

$result = $service->getAllByNumericCodeValues($rawStandardsData, ['051', '036']);
var_dump($result);

array(2) {
  [0]=>
  array(4) {
    ["name"]=>
    string(7) "Armenia"
    ["alpha2"]=>
    string(2) "AM"
    ["alpha3"]=>
    string(3) "ARM"
    ["numericCode"]=>
    string(3) "051"
  }
  [1]=>
  array(4) {
    ["name"]=>
    string(9) "Australia"
    ["alpha2"]=>
    string(2) "AU"
    ["alpha3"]=>
    string(3) "AUS"
    ["numericCode"]=>
    string(3) "036"
  }
}

$result = $service->getAllByNumericCodeValues($rawStandardsData, ['000', '111']);
var_dump($result);

array(0) {
}

getAllByNameValues

public static function getAllByNameValues(
    array $standardsData,
    array $values
): array;
public function getAllByNameValues(
    array $standardsData,
    array $values
): array;

输入

  • $standardsData - 标准原始数据集数组;
  • $values - 名称值字符串数组;

返回:根据给定的名称值字符串数组过滤的标准数组。

示例

$rawStandardsData = [
    [
        AttributeCodes::ATTRIBUTE_NAME => "Armenia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AM",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ARM",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "051",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Aruba",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AW",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "ABW",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "533",
    ],
    [
        AttributeCodes::ATTRIBUTE_NAME => "Australia",
        AttributeCodes::ATTRIBUTE_ALPHA2 => "AU",
        AttributeCodes::ATTRIBUTE_ALPHA3 => "AUS",
        AttributeCodes::ATTRIBUTE_NUMERIC_CODE => "036",
    ],
];

$result = StandardSearchUtility::getAllByNameValues($rawStandardsData, ['Armenia', 'Australia']);
var_dump($result);

array(2) {
  [0]=>
  array(4) {
    ["name"]=>
    string(7) "Armenia"
    ["alpha2"]=>
    string(2) "AM"
    ["alpha3"]=>
    string(3) "ARM"
    ["numericCode"]=>
    string(3) "051"
  }
  [1]=>
  array(4) {
    ["name"]=>
    string(9) "Australia"
    ["alpha2"]=>
    string(2) "AU"
    ["alpha3"]=>
    string(3) "AUS"
    ["numericCode"]=>
    string(3) "036"
  }
}

$result = StandardSearchUtility::getAllByNameValues($rawStandardsData, ['foo', 'bar']);
var_dump($result);

array(0) {
}

$service = new StandardSearchUtilityService();

$result = $service->getAllByNameValues($rawStandardsData, ['Armenia', 'Australia']);
var_dump($result);

array(2) {
  [0]=>
  array(4) {
    ["name"]=>
    string(7) "Armenia"
    ["alpha2"]=>
    string(2) "AM"
    ["alpha3"]=>
    string(3) "ARM"
    ["numericCode"]=>
    string(3) "051"
  }
  [1]=>
  array(4) {
    ["name"]=>
    string(9) "Australia"
    ["alpha2"]=>
    string(2) "AU"
    ["alpha3"]=>
    string(3) "AUS"
    ["numericCode"]=>
    string(3) "036"
  }
}

$result = $service->getAllByNameValues($rawStandardsData, ['foo', 'bar']);
var_dump($result);

array(0) {
}

贡献

欢迎提交pull requests。如果有重大更改,请首先创建一个issue进行讨论。

请确保适当地更新测试。

代码覆盖率信息

覆盖率信息位于README文件顶部。