欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php 关联数组?枚举数组?

程序员文章站 2022-05-19 21:34:49
...
请解释一下请解释一下请解释一下请解释一下

回复内容:

请解释一下请解释一下请解释一下请解释一下

struct {
union {
long lval;
double dval;
struct {
char *val;
int len;
} str;
HashTable *ht;
zend_object_value obj;
} value;
zend_uint refcount;
zend_uchar type;
zend_uchar is_ref;
} zval;

 
PHP_FUNCTION(explain)
{
zval *uservar;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", uservar) == FAILURE) {
RETURN_NULL();
}

switch (Z_TYPE_P(uservar)) {
case IS_NULL:
php_printf("NULL ");
break;
case IS_BOOL:
php_printf("Boolean: %s ", Z_LVAL_P(uservar) ? "TRUE" : "FALSE");
break;
case IS_LONG:
php_printf("Long: %ld ", Z_LVAL_P(uservar));
break;
case IS_DOUBLE:
php_printf("Double: %f ", Z_DVAL_P(uservar));
break;
case IS_STRING:
php_printf("String: ");
PHPWRITE(Z_STRVAL_P(uservar), Z_STRLEN_P(uservar));
php_printf(" ");
break;
case IS_RESOURCE:
php_printf("Resource ");
break;
case IS_ARRAY:
php_printf("Array ");
break;
case IS_OBJECT:
php_printf("Object ");
break;
default:
php_printf("Unknown ");
}

RETURN_TRUE;
} 

php没有数组,实际上是用的Hashtable,数组的叫法是误传,就象世上本没有路,走的人多了,就把走过的地方叫路

我只知道PHP里面的:

  • 索引数组[1,2,3,6,6,90]

  • 关联数组['a' => 1, 'b' => 9, 'f' => ko]

PHP中的枚举数组也就是指的关联数组,关联数组的下标也就是key值可以是无序的,一般是字符串类型;比如:
array('one'=>'1','three'=>'2', 'fore'=>'3');

索引数组的下标(key)是有序的,一般为int型,比如:
array('one', 'two', 'three')
这个数组默认的下标就是0,1,2;(另外:索引数组的下标默认从0开始)

相关标签: php