EXPERIMENTAL: PHPPackedArray converts a Go slice to a PHP zval with a zend_array value.
(slice []T)
| 246 | |
| 247 | // EXPERIMENTAL: PHPPackedArray converts a Go slice to a PHP zval with a zend_array value. |
| 248 | func PHPPackedArray[T any](slice []T) unsafe.Pointer { |
| 249 | zendArray := createNewArray((uint32)(len(slice))) |
| 250 | for _, val := range slice { |
| 251 | zval := phpValue(val) |
| 252 | C.zend_hash_next_index_insert(zendArray, zval) |
| 253 | C.__efree__(unsafe.Pointer(zval)) |
| 254 | } |
| 255 | |
| 256 | return unsafe.Pointer(zendArray) |
| 257 | } |
| 258 | |
| 259 | // EXPERIMENTAL: GoValue converts a PHP zval to a Go value |
| 260 | // |