Skip to content

Commit 1c9a4bf

Browse files
Merge pull request #8 from paulboenisch/master
adding Kosovo to country list when iso switch is false
2 parents d5faa8e + 1d9078d commit 1c9a4bf

3 files changed

Lines changed: 52 additions & 2 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.idea/*

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@ Get simple key-value array by default it returns alpha2 => name pairs
3333
$countries = CountriesArray::get();
3434
```
3535

36+
Include non iso countries:
37+
```
38+
$countries = CountriesArray::iso(false)->get();
39+
```
40+
3641
Get key values pairs
3742

3843
```

src/CountriesArray.php

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,50 @@ class CountriesArray{
269269
"ZW" => array( 'alpha2'=>'ZW', 'alpha3'=>'ZWE', 'num'=>'716', 'isd'=> '263', "name" => "Zimbabwe", "continent" => "Africa")
270270
);
271271

272+
/**
273+
* Non iso countries
274+
* @var array
275+
*/
276+
public static $countries_non_iso = array(
277+
"XK" => array( 'alpha2'=>'XK', 'alpha3'=>'KOS', 'num'=>'383', 'isd'=> '383', "name" => "Kosovo", "continent" => "Europe", ),
278+
);
279+
280+
/**
281+
* CountriesArray constructor.
282+
* @param boolean $iso
283+
* @author Paul Bönisch - <paul.boenisch@umwerk.net>
284+
*/
285+
public function __construct($iso)
286+
{
287+
if(!$iso){
288+
self::$countries = array_merge(self::$countries, self::$countries_non_iso);
289+
}
290+
}
291+
292+
/**
293+
* Returns countries array depending on iso flag
294+
* @param bool $iso
295+
* @return array
296+
* @author Paul Bönisch - <paul.boenisch@umwerk.net>
297+
*/
298+
public static function getCountries($iso = true){
299+
$result = self::$countries;
300+
if(!$iso){
301+
$result = array_merge($result, self::$countries_non_iso);
302+
}
303+
304+
return $result;
305+
}
306+
307+
/**
308+
* Returns instance of ContriesArray with $iso property according to $value parameter
309+
* @param $value
310+
* @return CountriesArray
311+
* @author Paul Bönisch - <paul.boenisch@umwerk.net>
312+
*/
313+
public static function iso($value){
314+
return new CountriesArray($value);
315+
}
272316

273317
/*
274318
* function get()
@@ -379,15 +423,15 @@ public static function getFromContinent( $keyField = 'alpha2', $requestedField =
379423
if ( $continent ) {
380424
if ( $country['continent'] == $continent ) {
381425
$result[ $country[ $keyField ] ] = $country[ $requestedField ];
382-
}
426+
}
383427
} else {
384428
$result[ $country[ $keyField ] ] = $country[ $requestedField ];
385429
}
386430
} else {
387431
if ( $continent ) {
388432
if ( $country['continent'] == $continent ) {
389433
$result[] = $country[ $requestedField ];
390-
}
434+
}
391435
} else {
392436
$result[] = $country[ $requestedField ];
393437
}

0 commit comments

Comments
 (0)