PHP Array Exercises : Displays array keys and values

PHP Array: Exercise-3 with Solution

$ceu = array( "Italy"=>"Rome", "Luxembourg"=>"Luxembourg", "Belgium"=> "Brussels", "Denmark"=>"Copenhagen", "Finland"=>"Helsinki", "France" => "Paris", "Slovakia"=>"Bratislava", "Slovenia"=>"Ljubljana", "Germany" => "Berlin", "Greece" => "Athens", "Ireland"=>"Dublin", "Netherlands"=>"Amsterdam", "Portugal"=>"Lisbon", "Spain"=>"Madrid", "Sweden"=>"Stockholm", "United Kingdom"=>"London", "Cyprus"=>"Nicosia", "Lithuania"=>"Vilnius", "Czech Republic"=>"Prague", "Estonia"=>"Tallin", "Hungary"=>"Budapest", "Latvia"=>"Riga", "Malta"=>"Valetta", "Austria" => "Vienna", "Poland"=>"Warsaw") ;

Create a PHP script which displays the capital and country name from the above array $ceu. Sort the list by the name of the capital.

Sample Solution:

PHP Code:

$ceu = array( "Italy"=>"Rome", "Luxembourg"=>"Luxembourg",
"Belgium"=> "Brussels", "Denmark"=>"Copenhagen",
"Finland"=>"Helsinki", "France" => "Paris",
"Slovakia"=>"Bratislava", "Slovenia"=>"Ljubljana",
"Germany" => "Berlin", "Greece" => "Athens",
"Ireland"=>"Dublin", "Netherlands"=>"Amsterdam",
"Portugal"=>"Lisbon", "Spain"=>"Madrid",
"Sweden"=>"Stockholm", "United Kingdom"=>"London",
"Cyprus"=>"Nicosia", "Lithuania"=>"Vilnius",
"Czech Republic"=>"Prague", "Estonia"=>"Tallin",
"Hungary"=>"Budapest", "Latvia"=>"Riga","Malta"=>"Valetta",
"Austria" => "Vienna", "Poland"=>"Warsaw") ;
asort($ceu) ;
foreach($ceu as $country => $capital)
echo "The capital of $country is $capital"."\n" ;

Sample Output:

The capital of Netherlands is Amsterdam                     
The capital of Greece is Athens                             
The capital of Germany is Berlin                            
The capital of Slovakia is Bratislava                       
The capital of Belgium is Brussels                          
The capital of Hungary is Budapest                          
The capital of Denmark is Copenhagen                        
The capital of Ireland is Dublin                            
The capital of Finland is Helsinki                          
The capital of Portugal is Lisbon                           
The capital of Slovenia is Ljubljana                        
The capital of United Kingdom is London                     
The capital of Luxembourg is Luxembourg                     
The capital of Spain is Madrid                              
The capital of Cyprus is Nicosia                            
The capital of France is Paris                              
The capital of Czech Republic is Prague                     
The capital of Latvia is Riga
The capital of Italy is Rome                                
The capital of Sweden is Stockholm                          
The capital of Estonia is Tallin                            
The capital of Malta is Valetta                             
The capital of Austria is Vienna                            
The capital of Lithuania is Vilnius                         
The capital of Poland is Warsaw 


Flowchart: Displays array keys and values

PHP Practice online:

Contribute your code and comments through Disqus.

Previous: $color = array('white', 'green', 'red'')
Write a PHP script which will display the colors in the following way

Next: Delete an element from the specified array. After deleting the element, integer keys must be normalized.

What is the difficulty level of this exercise?

PHP: Tips of the Day

Convert a PHP object to an associative array

Just typecast it

$array = (array) $yourObject;

From Arrays:

If an object is converted to an array, the result is an array whose elements are the object's properties. The keys are the member variable names, with a few notable exceptions: integer properties are unaccessible; private variables have the class name prepended to the variable name; protected variables have a '*' prepended to the variable name.These prepended values have null bytes on either side.

Example: Simple Object

$object = new StdClass;
$object->foo = 1;
$object->bar = 2;

var_dump( (array) $object );


array(2) {
  'foo' => int(1)
  'bar' => int(2)

Example: Complex Object

class Foo
    private $foo;
    protected $bar;
    public $baz;

    public function __construct()
        $this->foo = 1;
        $this->bar = 2;
        $this->baz = new StdClass;

var_dump( (array) new Foo );

Output (with \0s edited in for clarity):

array(3) {
  '\0Foo\0foo' => int(1)
  '\0*\0bar' => int(2)
  'baz' => class stdClass#2 (0) {}

Output with var_export instead of var_dump:

array (
  '' . "\0" . 'Foo' . "\0" . 'foo' => 1,
  '' . "\0" . '*' . "\0" . 'bar' => 2,
  'baz' =>

Typecasting this way will not do deep casting of the object graph and you need to apply the null bytes (as explained in the manual quote) to access any non-public attributes. So this works best when casting StdClass objects or objects with only public properties. For quick and dirty (what you asked for) it's fine.

Also see this in-depth blog post:

  • Fast PHP Object to Array conversion

Ref : https://bit.ly/3fqiV2E