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.