Я только что решил свою проблему, используя 2 для цикла.
Массив PHP:
$data[0][1] = 'a'; // $data[x][y], x: row, y: col
В C, расширение PHP:
zend_bool found = FALSE;
zend_long iRow;
zend_string *sRow;
zval *rowArray;
ZEND_HASH_FOREACH_KEY_VAL(Z_ARRVAL_P(format_handle), iRow, sRow, rowArray)
if (iRow == rowNeeded) {
zend_long iCol;
zend_string *sCol;
zval *formatData;
ZEND_HASH_FOREACH_KEY_VAL(Z_ARRVAL_P(rowArray), iCol, sCol, formatData)
if (iCol == colNeeded) {
found = TRUE;
break;
}
ZEND_HASH_FOREACH_END();
}
if (found) { break; }
ZEND_HASH_FOREACH_END();