Ваш массив выглядит странно, так как вы смешиваете ключи и значения типа "a #". Это эквивалентно:
$Arr1 = array
(
"a1" => array("a1b", "a1b"),
"a2" => array("a2b", "a2b"),
0 => "a3",
1 => "a4",
"a5" => array("a5b", "a5b")
);
Полагаю, вы имели в виду именно это:
$Arr1 = array
(
"a1" => array("a1b", "a1b"),
"a2" => array("a2b", "a2b"),
"a3" => null,
"a4" => null,
"a5" => array("a5b", "a5b")
);
Тогда вы можете получить к нему доступ через foreach:
foreach ($Arr1 as $key => $value)
echo "$key => " .
( is_array($value)
? implode(', ', $value)
: $value
),
'<br>', PHP_EOL
;
Или, если вы не хотите ключи с пустыми значениями:
foreach ($Arr1 as $key => $value)
if(is_array($value))
echo "$key => ", implode(', ', $value), '<br>', PHP_EOL;
или просто
$filered = array_filter( $Arr1, function($v) { return is_array($v); } );
foreach ( $filered as $key => $sub_array)
echo $key, ' => ', implode(', ', $sub_array), '<br>', PHP_EOL;