对于index类型key同样分配了hash值和nKeyLength(为0)。而是由push的先后决定。HashTable会将他当做索引key处理。zend将变量指向相同的zval同时ref_count++,在unset操作时,对应的ref_count-1。则zend会修改is_ref为1。zval被多个变量共享,则为其复制一份ref_count为1的zval,并递减原zval的refcount,这个过程称为“zval分离”。long和double。类似整数,它也不区分float和double而是统一只有double一种类型。$strA.$strB这种是速度最快的,zend会在当前strA基础上直接relloc,避免重复拷贝。另外本身机制也是malloc。HashTable来天然实现。历效率比for高很多,省去了key->value的查找。HashTable->NumOfElements,O(1)操作。:对于资源,zend维护了一个id->实际数据的hash_tale。对于一个resource,在zval中只记录了它的id。