이 글은 주로 PHP 변수와 날짜 처리 사례를 소개합니다. 관심 있는 친구들이 참고하면 좋겠습니다.
변수 관련
PHP 변수의 내부 구현프로그래밍 언어의 시스템 유형은 강한 유형과 약한 유형의 두 가지 유형으로 나뉩니다.
강한 유형 언어는 일단 변수가 변수로 선언되면 프로그램 내에서 특정 타입을 변수의 타입 이외의 값으로 할당할 수 없습니다. c/c++/java 등의 언어는 php, ruby 등의 스크립트 언어에 속합니다. javascript는 약한 유형의 언어입니다. 변수는 모든 데이터 유형을 나타낼 수 있습니다.
php는 약한 유형의 언어입니다. , 이는 PHP가 유형을 지정하지 않는다는 의미는 아닙니다. PHP에는 8가지 변수 유형이 있으며 이는 세 가지 범주로 나눌 수 있습니다:
스칼라 유형: 부울, 정수, 부동 소수점, 문자열
복합 유형: 배열 , object
특수 유형: Resource , NULL
typedef struct _zval_struct zval; struct _zval_struct { zvalue_value value; // 存储变量的值 zend_uint refcount__gc; // 表示引用计数 zend_uchar type; // 变量具体的类型 zend_uchar is_ref_gc; // 表示是否为引用 };
변수 유형
zval 구조의 유형 필드는 약한 유형 지정을 구현하는 데 가장 중요한 필드입니다. 유형의 값은 IS_NULL, IS_BOOL, IS_LONG, IS_DOUBLE, IS_STRING, IS_ARRAY 중 하나일 수 있습니다. , IS_OBJECT, IS_RESOURCE 는 말 그대로 이해하기 쉽습니다. 단지 유형을 나타내는 것입니다. 유형에 따라 값 필드에 다른 값이 저장됩니다. 이전에는 변수의 값이 zvalue_value 구조에 저장되었습니다. 구조는 다음과 같이 정의됩니다.
typedef union _zvalue_value { long lval; double dval; struct { char *val; int len; } str; HashTable *ht; zend_object_value obj; } _zvalue_value;
Date 관련
두 날짜 사이의 일수 계산
<?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의 데이터 구조의 DS 확장에 대한 자세한 설명
PHP는 문자열에서 휴대폰 번호의 정규식을 추출하는 방법을 구현합니다.
PHP는 해당 방법을 구현합니다. SimpleXML을 기반으로 XML 생성 및 구문 분석
위 내용은 PHP 변수 및 날짜 처리 사례의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!