Two Dimension Arrays

PHP arrays can contain a different array in any index, so you can create arrays as nested as you like!

  $MyArray = array(
               array('1', '2', '3', '4'),
               array('10', '20', '30', '40'),
               array('100', '200', '300', '400'));

  echo $MyArray[1][2];       //Displays 30

//An alternative more minimal notation way
  $MyArray = [
               ['1', '2', '3', '4'],
               ['10', '20', '30', '40'],
               ['100', '200', '300', '400']
             ];
		$MyArray = array(
						$array = array_fill(0, 24, false),		//Fill an array from index 0, 24 items long, with default value false
						$array = array_fill(0, 24, false),
						$array = array_fill(0, 24, false),
						);

You can carry on creating arrays within arrays if desired.

Accessing Array Values
	$my_val = $my_array[0][video_index];

Creating a multidimensional array

Example 1
  $MyMultiDimArray = array();
  $MyMultiDimArray[] = array(
    "id" =>  14,
    "name" => "Adam"
  );
Example 2
  $MyMultiDimArray = array(    
    0 =>  array(  
      "id" =>  14,
      "name" => "Adam",
    ),  
    1   =>  array(  
        "id" => 2032,
        "name" => "James"
    ), 
    2   =>  array(  
        "id" => 18,
        "name" => "Jane"
    )
  );
Example 3
  $MyMultiDimArray = array();
        
  if (!isset($MyMultiDimArray['DataAvailability']))
    $MyMultiDimArray['DataAvailability'] = array();
        
  if (!isset($Output['DataAvailability']['DeviceId']))
    $Output['DataAvailability']['DeviceId'] = array();

Does a field value exist within a multi dimensional array?

  $MyMultiDimArray = array(    
    0 =>  array(  
      "id" =>  14,
      "name" => "Adam",
    ),  
    1   =>  array(  
        "id" => 2032,
        "name" => "James"
    ), 
    2   =>  array(  
        "id" => 18,
        "name" => "Jane"
    )
  );


  //Simple exists or not
  if (array_search(2032, array_column($MyMultiDimArray, 'id')) !== False)
    echo 'FOUND!';
  else
    echo 'NOT FOUND!';


  //Get key if it exists - looking for match
  $Key = array_search(2032, array_column($MyMultiDimArray, 'id'));
  if ($Key !== False)
  {
    $Name = $MyMultiDimArray[$Key]['name'];
  }


  //Get key if it exists  - create if not exist
  $Key = array_search(2032, array_column($MyMultiDimArray, 'id'));
  if ($Key === False)
  {
    $MyMultiDimArray[]['id'] = 2032;
    $Key = count($MyMultiDimArray) - 1;
  }

Feel free to comment if you can add help to this page or point out issues and solutions you have found. I do not provide support on this site, if you need help with a problem head over to stack overflow.

Comments

Your email address will not be published. Required fields are marked *