《PHP實戰:PHP的關于變量和日期處理的一些面試題目整理》要點:
本文介紹了PHP實戰:PHP的關于變量和日期處理的一些面試題目整理,希望對您有用。如果有疑問,可以聯系我們。
PHP應用變量相關
PHP變量的內部實現
編程語言的系統類型分為強類型和弱類型兩種:
PHP應用
php變量類型及存儲結構
php在聲明或使用變量的時候,并不必要顯式指明其數據類型
PHP應用php是弱類型語言,這不并表現php沒有類型,在php中,存在8種變量類型,可以分為三類:
PHP應用
變量存儲布局
變量的值存儲到一下所示的zval布局體中.其布局如下:
PHP應用
typedef struct _zval_struct zval;
struct _zval_struct {
zvalue_value value; // 存儲變量的值
zend_uint refcount__gc; // 表現引用計數
zend_uchar type; // 變量具體的類型
zend_uchar is_ref_gc; // 表現是否為引用
};
PHP應用
變量的值存儲在另外一個結構體zvalue_value中
PHP應用變量類型
zval結構體的type字段便是實現弱類型最關鍵的字段了,type的值可以為:IS_NULL, IS_BOOL, IS_LONG, IS_DOUBLE, IS_STRING, IS_ARRAY, IS_OBJECT, IS_RESOURCE之一.從字面上就很好理解,他們只是類型的唯一標示,根據類型的不同將不同的值存儲到value字段
PHP應用變量值的存儲
前面說到變量的值存儲在zvalue_value布局體中,布局體定義如下:
PHP應用
typedef union _zvalue_value {
long lval;
double dval;
struct {
char *val;
int len;
} str;
HashTable *ht;
zend_object_value obj;
} _zvalue_value;
PHP應用
日期相關
PHP應用計算兩個日期之間的天數
??
PHP應用
<?php
/**
* 求兩個日期之間相差的天數(針對1970年1月1日之后,求之前可以采納泰勒公式)
* @param string $day1
* @param string $day2
* @return number
*/
function diffBetweenTwoDays ($day1, $day2)
{
$second1 = strtotime($day1);
$second2 = strtotime($day2);
if ($second1 < $second2) {
$tmp = $second2;
$second2 = $second1;
$second1 = $tmp;
}
return ($second1 - $second2) / 86400;
}
$day1 = "2013-07-27";
$day2 = "2013-08-04";
$diff = diffBetweenTwoDays($day1, $day2);
echo $diff."\n";
維易PHP培訓學院每天發布《PHP實戰:PHP的關于變量和日期處理的一些面試題目整理》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/8816.html