mfacer wrote:...without creating a loop... is that the only way?
No, it's not (code below). But loops, for what it's worth, aren't inherently evil and are often necessary. Even the in_array function itself has to loop, albeit "behind the scenes".
if (!empty($my_array)) }
if ($my_array[0]['id'] == 4) {
echo $my_array[0]['name'];
}
}
if (count($my_array) >= 2)) {
if ($my_array[1]['id'] == 4) {
echo $my_array[1]['name'];
}
}
if (count($my_array) >= 3) {
if ($my_array[2]['id'] == 4) {
echo $my_array[2]['name'];
}
}
if (count($my_array) >= 4) {
if ($my_array[3]['id'] == 4) {
echo $my_array[3]['name'];
}
}
if (count($my_array) >= 5) {
if ($my_array[4]['id'] == 4) {
echo $my_array[4]['name'];
}
}
// And so on.
Of course, that will work only if you put in enough blocks to cover any possible size of the array.
btw, that's a 2d array, not 3.