How can I read multidimensional array in PHP extension?
$dataValue[0][1] = 'a';
$dataValue[0][2] = 'b';
And here is my PHP extension code:
ZEND_HASH_FOREACH_BUCKET(Z_ARRVAL_P(data_r_value), Bucket *bucket)
setArray(&bucket, currentRow, currentCol, dataValue[currentRow][currentCol]);
ZEND_HASH_FOREACH_END();
I'm tried to use dataValue[currentRow][currentCol]
to read value but it gives an error:
'[': illegal for struct
Thank in advance.
I just solved my problem by using 2 for loop.
PHP Array:
$data[0][1] = 'a'; // $data[x][y], x: row, y: col
In C, PHP Extension:
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();